aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2015-11-06 13:21:51 +0000
committerTom de Vries <tom@codesourcery.com>2015-11-06 13:21:51 +0000
commit5959acd49885414144b0afe345481050e5e0e195 (patch)
treef82c03681afd524bd201e90cf7dd5b870573c584
parentc6f705e38ad079ac07e8228c70c7392ee451374e (diff)
Fix transform_to_exit_first_loop_alt with -g
2015-11-06 Tom de Vries <tom@codesourcery.com> * 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@229847 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-cfg.c2
-rw-r--r--gcc/tree-parloops.c2
3 files changed, 10 insertions, 1 deletions
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 <tom@codesourcery.com>
+
+ * 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 <kyrylo.tkachov@arm.com>
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