diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-12 21:21:37 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-12 21:21:37 +0000 |
commit | 283a6b26950471c2464897089a0b2a5fbe7ac0b0 (patch) | |
tree | 4e90b09d7ebd094cdf433aeb27f13654901ad0ce /gcc/gcse.c | |
parent | 24057728ef5475e87d3f74dfa888646684bc258c (diff) | |
download | gcc-283a6b26950471c2464897089a0b2a5fbe7ac0b0.tar.gz |
PR rtl-optimization/34035
* cse.c (cse_cfg_altered): New global variable.
(cse_jumps_altered): Make boolean.
(recorded_label_ref): Likewise.
(cse_insn): Adjust for above changes.
(cse_extended_basic_block): Likewise. Set cse_cfg_altered
if dead edges have been purged.
(cse_main): Change return value specification and adjust code.
(rest_of_handle_cse): Adjust for above change.
(rest_of_handle_cse2): Likewise.
* gcse.c (rest_of_handle_gcse): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130122 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r-- | gcc/gcse.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c index 21d3da45185..c5e8c7b44f5 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -6737,13 +6737,15 @@ rest_of_handle_gcse (void) /* If gcse or cse altered any jumps, rerun jump optimizations to clean things up. */ - if (tem || tem2) + if (tem || tem2 == 2) { timevar_push (TV_JUMP); rebuild_jump_labels (get_insns ()); cleanup_cfg (0); timevar_pop (TV_JUMP); } + else if (tem2 == 1) + cleanup_cfg (0); flag_cse_skip_blocks = save_csb; flag_cse_follow_jumps = save_cfj; |