]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cfgexpand.c (expand_gimple_cond): Convert also goto_block and goto_locus of true_edge...
authorJakub Jelinek <jakub@redhat.com>
Wed, 8 Oct 2008 20:49:23 +0000 (22:49 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 8 Oct 2008 20:49:23 +0000 (22:49 +0200)
* cfgexpand.c (expand_gimple_cond): Convert also goto_block and
goto_locus of true_edge into RTL locator.

From-SVN: r140986

gcc/ChangeLog
gcc/cfgexpand.c

index 3894a24ec0168202ce50bd2a4fe88f3ae9f639ad..4f1cc5ccd7e4b86743ea2e4829fca1a2baea4d36 100644 (file)
@@ -1,3 +1,8 @@
+2008-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgexpand.c (expand_gimple_cond): Convert also goto_block and
+       goto_locus of true_edge into RTL locator.
+
 2008-10-08  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (*jcc_btdi_rex64): Clobber FLAGS_REG.
index e94fe356e1c2cbca9c680a9b43e2088ab4e43628..6eaec30c98f6d5ad629acde4cf1793219b764ca0 100644 (file)
@@ -1725,6 +1725,14 @@ expand_gimple_cond (basic_block bb, gimple stmt)
 
   maybe_dump_rtl_for_gimple_stmt (stmt, last2);
 
+  if (true_edge->goto_locus)
+    {
+      set_curr_insn_source_location (true_edge->goto_locus);
+      set_curr_insn_block (true_edge->goto_block);
+      true_edge->goto_locus = curr_insn_locator ();
+    }
+  true_edge->goto_block = NULL;
+
   ggc_free (pred);
   return new_bb;
 }