From 599941607016f0574a55d77ba0cab0415fffdde6 Mon Sep 17 00:00:00 2001
From: Zdenek Dvorak <dvorakz@suse.cz>
Date: Fri, 3 Mar 2006 01:04:22 +0100
Subject: [PATCH] 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
---
 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 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);
     }
 
--
libgit2 0.26.0