diff options
author | Richard Henderson <rth@redhat.com> | 2015-12-23 16:45:15 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2015-12-23 16:45:15 -0800 |
commit | 6549bdc6beb08b4d5737415b1ed97081e7a900d3 (patch) | |
tree | 11dc2b46418a9fc7ebd9b4829c3cd840e66d8368 /gcc | |
parent | f89fc5c40bbc5e4a292cacd8b2b8b14f6116fdd5 (diff) | |
download | gcc-6549bdc6beb08b4d5737415b1ed97081e7a900d3.zip gcc-6549bdc6beb08b4d5737415b1ed97081e7a900d3.tar.gz gcc-6549bdc6beb08b4d5737415b1ed97081e7a900d3.tar.bz2 |
re PR ipa/67811 ([TM] ICE with try-block in transaction)
PR ipa/67811
* tree-cfg.c (make_edges_bb): Add abort edge for outer transactions.
From-SVN: r231943
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index addc54a..6bc47d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-12-23 Richard Henderson <rth@redhat.com> + + PR ipa/67811 + * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions. + 2015-12-23 Nathan Sidwell <nathan@acm.org> * cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 436ea14..3b2fab5 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -839,7 +839,8 @@ make_edges_bb (basic_block bb, struct omp_region **pcur_region, int *pomp_index) EDGE_TM_UNINSTRUMENTED | (label1 ? 0 : EDGE_FALLTHRU)); tree label3 = gimple_transaction_label_over (txn); - if (gimple_transaction_subcode (txn) & GTMA_HAVE_ABORT) + if (gimple_transaction_subcode (txn) + & (GTMA_HAVE_ABORT | GTMA_IS_OUTER)) make_edge (bb, label_to_block (label3), EDGE_TM_ABORT); fallthru = false; |