diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-08 22:26:37 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-08 22:26:37 +0000 |
commit | 1910089e3529a2ef4cec042003758dc1d67173a3 (patch) | |
tree | a216d949954f2fa084d0f5e143e1be32b84e03fd /gcc/trans-mem.c | |
parent | 5cf40b7e54256e2dd9b4abd82876a4b32bb28e97 (diff) | |
download | gcc-1910089e3529a2ef4cec042003758dc1d67173a3.tar.gz |
* 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: svn+ssh://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.c | 10 |
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; } |