OSDN Git Service

* cfghooks.c (split_block): Fix the information about loop latch.
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jul 2007 23:19:56 +0000 (23:19 +0000)
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jul 2007 23:19:56 +0000 (23:19 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126936 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cfghooks.c

index 24430b6..5102f81 100644 (file)
@@ -1,5 +1,9 @@
 2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
 
+       * cfghooks.c (split_block): Fix the information about loop latch.
+
+2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
        * cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
 
 2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
index d436f01..948300c 100644 (file)
@@ -432,7 +432,11 @@ split_block (basic_block bb, void *i)
     }
 
   if (current_loops != NULL)
-    add_bb_to_loop (new_bb, bb->loop_father);
+    {
+      add_bb_to_loop (new_bb, bb->loop_father);
+      if (bb->loop_father->latch == bb)
+       bb->loop_father->latch = new_bb;
+    }
 
   return make_single_succ_edge (bb, new_bb, EDGE_FALLTHRU);
 }