aboutsummaryrefslogtreecommitdiff
path: root/gcc/trans-mem.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2013-03-08 22:26:37 +0000
committerAldy Hernandez <aldyh@redhat.com>2013-03-08 22:26:37 +0000
commitbd1f8570b57024f50d3ff69cdf4d004d9abedbef (patch)
treea216d949954f2fa084d0f5e143e1be32b84e03fd /gcc/trans-mem.c
parent99b0a02c9b9300328196ea4f66c33bc31ac5fc58 (diff)
* trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
if GTMA_HAS_NO_INSTRUMENTATION. (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit. (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION. * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define. * gimple-pretty-print.c (dump_gimple_transaction): Handle GTMA_HAS_NO_INSTRUMENTATION. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@196562 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/trans-mem.c')
-rw-r--r--gcc/trans-mem.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c
index 71eaa4464e0..b0f18b552bb 100644
--- a/gcc/trans-mem.c
+++ b/gcc/trans-mem.c
@@ -2602,7 +2602,7 @@ expand_transaction (struct tm_region *region, void *data ATTRIBUTE_UNUSED)
flags |= PR_HASNOABORT;
if ((subcode & GTMA_HAVE_STORE) == 0)
flags |= PR_READONLY;
- if (inst_edge)
+ if (inst_edge && !(subcode & GTMA_HAS_NO_INSTRUMENTATION))
flags |= PR_INSTRUMENTEDCODE;
if (uninst_edge)
flags |= PR_UNINSTRUMENTEDCODE;
@@ -2806,7 +2806,8 @@ generate_tm_state (struct tm_region *region, void *data ATTRIBUTE_UNUSED)
if (subcode & GTMA_DOES_GO_IRREVOCABLE)
subcode &= (GTMA_DECLARATION_MASK | GTMA_DOES_GO_IRREVOCABLE
- | GTMA_MAY_ENTER_IRREVOCABLE);
+ | GTMA_MAY_ENTER_IRREVOCABLE
+ | GTMA_HAS_NO_INSTRUMENTATION);
else
subcode &= GTMA_DECLARATION_MASK;
gimple_transaction_set_subcode (region->transaction_stmt, subcode);
@@ -5069,8 +5070,9 @@ ipa_tm_transform_transaction (struct cgraph_node *node)
&& bitmap_bit_p (d->irrevocable_blocks_normal,
region->entry_block->index))
{
- transaction_subcode_ior (region, GTMA_DOES_GO_IRREVOCABLE);
- transaction_subcode_ior (region, GTMA_MAY_ENTER_IRREVOCABLE);
+ transaction_subcode_ior (region, GTMA_DOES_GO_IRREVOCABLE
+ | GTMA_MAY_ENTER_IRREVOCABLE
+ | GTMA_HAS_NO_INSTRUMENTATION);
continue;
}