From 4a4b6c4c277f17b2f33c6c6828a906c028d8a0b6 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 6 Nov 2015 13:21:51 +0000 Subject: [PATCH] Fix transform_to_exit_first_loop_alt with -g 2015-11-06 Tom de Vries * tree-cfg.c (gimple_split_block_before_cond_jump): Split before cond_jump, instead of split after last nondebug insn before cond_jump. * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before returning. From-SVN: r229847 --- gcc/ChangeLog | 7 +++++++ gcc/tree-cfg.c | 2 +- gcc/tree-parloops.c | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3966f515860..5e4a1c333ef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-11-06 Tom de Vries + + * tree-cfg.c (gimple_split_block_before_cond_jump): Split before + cond_jump, instead of split after last nondebug insn before cond_jump. + * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before + returning. + 2015-11-06 Kyrylo Tkachov PR target/68088 diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index cfed3c2195c..5d98eec9f18 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -5783,7 +5783,7 @@ gimple_split_block_before_cond_jump (basic_block bb) if (gimple_code (last) != GIMPLE_COND && gimple_code (last) != GIMPLE_SWITCH) return NULL; - gsi_prev_nondebug (&gsi); + gsi_prev (&gsi); split_point = gsi_stmt (gsi); return split_block (bb, split_point)->dest; } diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 6c856340b96..3d41275c4d3 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -1737,6 +1737,8 @@ transform_to_exit_first_loop_alt (struct loop *loop, /* Recalculate dominance info. */ free_dominance_info (CDI_DOMINATORS); calculate_dominance_info (CDI_DOMINATORS); + + checking_verify_ssa (true, true); } /* Tries to moves the exit condition of LOOP to the beginning of its header