OSDN Git Service

PR 21356
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Jul 2005 17:35:05 +0000 (17:35 +0000)
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Jul 2005 17:35:05 +0000 (17:35 +0000)
PR 22332
* passes.c (execute_todo): Cleanup the CFG before updating
SSA.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101832 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/passes.c

index f84455d..abaa36d 100644 (file)
@@ -1,3 +1,10 @@
+2005-07-09  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 21356
+       PR 22332
+       * passes.c (execute_todo): Cleanup the CFG before updating
+       SSA.
+
 2005-07-09  Jakub Jelinek  <jakub@redhat.com>
 
        * config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
index 8d1411a..abc44e4 100644 (file)
@@ -666,12 +666,7 @@ execute_todo (struct tree_opt_pass *pass, unsigned int flags, bool use_required)
     gcc_assert (flags & TODO_update_ssa_any);
 #endif
 
-  if (flags & TODO_update_ssa_any)
-    {
-      unsigned update_flags = flags & TODO_update_ssa_any;
-      update_ssa (update_flags);
-    }
-
+  /* Always cleanup the CFG before doing anything else.  */
   if (flags & TODO_cleanup_cfg)
     {
       if (current_loops)
@@ -680,6 +675,12 @@ execute_todo (struct tree_opt_pass *pass, unsigned int flags, bool use_required)
        cleanup_tree_cfg ();
     }
 
+  if (flags & TODO_update_ssa_any)
+    {
+      unsigned update_flags = flags & TODO_update_ssa_any;
+      update_ssa (update_flags);
+    }
+
   if ((flags & TODO_dump_func)
       && dump_file && current_function_decl)
     {