diff options
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/basic-block.h | 22 | ||||
-rw-r--r-- | gcc/cfgcleanup.c | 4 | ||||
-rw-r--r-- | gcc/cse.c | 2 | ||||
-rw-r--r-- | gcc/except.c | 4 | ||||
-rw-r--r-- | gcc/gcse.c | 2 |
6 files changed, 25 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 38c8414..e9e8a1c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2006-03-02 Zdenek Dvorak <dvorakz@suse.cz> + + * 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 <echristo@apple.com> * config/i386/i386.c (machopic_output_stub): Add indirection to diff --git a/gcc/basic-block.h b/gcc/basic-block.h index e8e08a0..8179e09 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 2dd4ff2..cd9d708 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 @@ -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 90a75ad..7c0088e 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; } @@ -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); } |