diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2010-06-02 16:39:37 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2010-06-02 16:39:37 +0000 |
commit | 718d3588b02c5fde3939e889c7586d71a99c4629 (patch) | |
tree | 4411eed49d576497752586d1a757f535660ddcf0 /gcc/tree-if-conv.c | |
parent | 5521cae9c297aa825d657b79f44097006deedfc8 (diff) | |
download | gcc-718d3588b02c5fde3939e889c7586d71a99c4629.zip gcc-718d3588b02c5fde3939e889c7586d71a99c4629.tar.gz gcc-718d3588b02c5fde3939e889c7586d71a99c4629.tar.bz2 |
Only reset the GIMPLE_DEBUG information in the code gen of if-conversion.
2010-06-02 Sebastian Pop <sebastian.pop@amd.com>
* tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
information.
(remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
From-SVN: r160164
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r-- | gcc/tree-if-conv.c | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c index f6e8c96..25cb918 100644 --- a/gcc/tree-if-conv.c +++ b/gcc/tree-if-conv.c @@ -509,15 +509,7 @@ predicate_bbs (loop_p loop) case GIMPLE_LABEL: case GIMPLE_ASSIGN: case GIMPLE_CALL: - break; - case GIMPLE_DEBUG: - /* ??? Should there be conditional GIMPLE_DEBUG_BINDs? */ - if (gimple_debug_bind_p (gsi_stmt (itr))) - { - gimple_debug_bind_reset_value (gsi_stmt (itr)); - update_stmt (gsi_stmt (itr)); - } break; case GIMPLE_COND: @@ -900,7 +892,8 @@ process_phi_nodes (struct loop *loop) } /* Remove all GIMPLE_CONDs and GIMPLE_LABELs of all the basic blocks - other than the exit and latch of the LOOP. */ + other than the exit and latch of the LOOP. Also resets the + GIMPLE_DEBUG information. */ static void remove_conditions_and_labels (loop_p loop) @@ -917,11 +910,26 @@ remove_conditions_and_labels (loop_p loop) continue; for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); ) - if (gimple_code (gsi_stmt (gsi)) == GIMPLE_COND - || gimple_code (gsi_stmt (gsi)) == GIMPLE_LABEL) - gsi_remove (&gsi, true); - else - gsi_next (&gsi); + switch (gimple_code (gsi_stmt (gsi))) + { + case GIMPLE_COND: + case GIMPLE_LABEL: + gsi_remove (&gsi, true); + break; + + case GIMPLE_DEBUG: + /* ??? Should there be conditional GIMPLE_DEBUG_BINDs? */ + if (gimple_debug_bind_p (gsi_stmt (gsi))) + { + gimple_debug_bind_reset_value (gsi_stmt (gsi)); + update_stmt (gsi_stmt (gsi)); + } + gsi_next (&gsi); + break; + + default: + gsi_next (&gsi); + } } } |