aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-03-03 01:04:22 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-03-03 00:04:22 +0000
commit599941607016f0574a55d77ba0cab0415fffdde6 (patch)
tree0732f0d1ffdc624ba356a07df71af998314be892
parent5143b5fcfec76fb0529eb9c591f930df810eeb58 (diff)
downloadgcc-599941607016f0574a55d77ba0cab0415fffdde6.zip
gcc-599941607016f0574a55d77ba0cab0415fffdde6.tar.gz
gcc-599941607016f0574a55d77ba0cab0415fffdde6.tar.bz2
cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg cleanup.
* 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. From-SVN: r111653
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/basic-block.h22
-rw-r--r--gcc/cfgcleanup.c4
-rw-r--r--gcc/cse.c2
-rw-r--r--gcc/except.c4
-rw-r--r--gcc/gcse.c2
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
diff --git a/gcc/cse.c b/gcc/cse.c
index 681e941..53b26d0 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 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;
}
diff --git a/gcc/gcse.c b/gcc/gcse.c
index a3ec8c0..f0e25a2 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);
}