diff mbox

PR ipa/67811, part 2

Message ID 1450918047-11705-1-git-send-email-rth@redhat.com
State New
Headers show

Commit Message

Richard Henderson Dec. 24, 2015, 12:47 a.m. UTC
Mea culpa.  Somehow I diffed the wrong trees and missed a
regression in libitm.c/cancel.c.

Re-tested and committed.


r~


	* tree-cfg.c (make_edges_bb): Add abort edge for outer transactions.
diff mbox

Patch

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;