From da0f98a7061bbb5ccdbf2f840dd75dea5e78a98d Mon Sep 17 00:00:00 2001 From: rakdver Date: Fri, 3 Mar 2006 00:04:22 +0000 Subject: [PATCH] * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg cleanup. * gcse.c (rest_of_handle_gcse): Ditto. * except.c (gate_handle_eh): Ditto. * cfgcleanup.c (rest_of_handle_jump2): Ditto. * basic-block.h (CLEANUP_PRE_LOOP): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111653 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 9 +++++++++ gcc/basic-block.h | 22 ++++++++++------------ gcc/cfgcleanup.c | 4 ++-- gcc/cse.c | 2 +- gcc/except.c | 4 ++-- gcc/gcse.c | 2 +- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38c8414d1c9..e9e8a1c959b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2006-03-02 Zdenek Dvorak + + * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg + cleanup. + * gcse.c (rest_of_handle_gcse): Ditto. + * except.c (gate_handle_eh): Ditto. + * cfgcleanup.c (rest_of_handle_jump2): Ditto. + * basic-block.h (CLEANUP_PRE_LOOP): Remove. + 2006-03-02 Eric Christopher * config/i386/i386.c (machopic_output_stub): Add indirection to diff --git a/gcc/basic-block.h b/gcc/basic-block.h index e8e08a011be..8179e094338 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -832,25 +832,23 @@ enum update_life_extent #define CLEANUP_CROSSJUMP 2 /* Do crossjumping. */ #define CLEANUP_POST_REGSTACK 4 /* We run after reg-stack and need to care REG_DEAD notes. */ -#define CLEANUP_PRE_LOOP 8 /* Take care to preserve syntactic loop - notes. */ -#define CLEANUP_UPDATE_LIFE 16 /* Keep life information up to date. */ -#define CLEANUP_THREADING 32 /* Do jump threading. */ -#define CLEANUP_NO_INSN_DEL 64 /* Do not try to delete trivially dead +#define CLEANUP_UPDATE_LIFE 8 /* Keep life information up to date. */ +#define CLEANUP_THREADING 16 /* Do jump threading. */ +#define CLEANUP_NO_INSN_DEL 32 /* Do not try to delete trivially dead insns. */ -#define CLEANUP_CFGLAYOUT 128 /* Do cleanup in cfglayout mode. */ -#define CLEANUP_LOG_LINKS 256 /* Update log links. */ +#define CLEANUP_CFGLAYOUT 64 /* Do cleanup in cfglayout mode. */ +#define CLEANUP_LOG_LINKS 128 /* Update log links. */ /* The following are ORed in on top of the CLEANUP* flags in calls to struct_equiv_block_eq. */ -#define STRUCT_EQUIV_START 512 /* Initializes the search range. */ -#define STRUCT_EQUIV_RERUN 1024 /* Rerun to find register use in +#define STRUCT_EQUIV_START 256 /* Initializes the search range. */ +#define STRUCT_EQUIV_RERUN 512 /* Rerun to find register use in found equivalence. */ -#define STRUCT_EQUIV_FINAL 2048 /* Make any changes necessary to get +#define STRUCT_EQUIV_FINAL 1024 /* Make any changes necessary to get actual equivalence. */ -#define STRUCT_EQUIV_NEED_FULL_BLOCK 4096 /* struct_equiv_block_eq is required +#define STRUCT_EQUIV_NEED_FULL_BLOCK 2048 /* struct_equiv_block_eq is required to match only full blocks */ -#define STRUCT_EQUIV_MATCH_JUMPS 8192 /* Also include the jumps at the end of the block in the comparison. */ +#define STRUCT_EQUIV_MATCH_JUMPS 4096 /* Also include the jumps at the end of the block in the comparison. */ extern void life_analysis (int); extern int update_life_info (sbitmap, enum update_life_extent, int); diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c index 2dd4ff2bbcf..cd9d708961d 100644 --- a/gcc/cfgcleanup.c +++ b/gcc/cfgcleanup.c @@ -2309,7 +2309,7 @@ rest_of_handle_jump2 (void) reg_scan (get_insns (), max_reg_num ()); if (dump_file) dump_flow_info (dump_file, dump_flags); - cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0) | CLEANUP_PRE_LOOP + cleanup_cfg ((optimize ? CLEANUP_EXPENSIVE : 0) | (flag_thread_jumps ? CLEANUP_THREADING : 0)); create_loop_notes (); @@ -2317,7 +2317,7 @@ rest_of_handle_jump2 (void) purge_line_number_notes (); if (optimize) - cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP); + cleanup_cfg (CLEANUP_EXPENSIVE); /* Jump optimization, and the removal of NULL pointer checks, may have reduced the number of instructions substantially. CSE, and diff --git a/gcc/cse.c b/gcc/cse.c index 681e9416021..53b26d039b9 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -7864,7 +7864,7 @@ rest_of_handle_cse (void) delete_dead_jumptables (); if (tem || optimize > 1) - cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP); + cleanup_cfg (CLEANUP_EXPENSIVE); return 0; } diff --git a/gcc/except.c b/gcc/except.c index 90a75adeb7d..7c0088e123a 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -3863,9 +3863,9 @@ gate_handle_eh (void) static unsigned int rest_of_handle_eh (void) { - cleanup_cfg (CLEANUP_PRE_LOOP | CLEANUP_NO_INSN_DEL); + cleanup_cfg (CLEANUP_NO_INSN_DEL); finish_eh_generation (); - cleanup_cfg (CLEANUP_PRE_LOOP | CLEANUP_NO_INSN_DEL); + cleanup_cfg (CLEANUP_NO_INSN_DEL); return 0; } diff --git a/gcc/gcse.c b/gcc/gcse.c index a3ec8c0cbed..f0e25a214ea 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -6696,7 +6696,7 @@ rest_of_handle_gcse (void) timevar_push (TV_JUMP); rebuild_jump_labels (get_insns ()); delete_dead_jumptables (); - cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_PRE_LOOP); + cleanup_cfg (CLEANUP_EXPENSIVE); timevar_pop (TV_JUMP); } -- 2.11.4.GIT