]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/61544 (ICE due to thumb1_reorg function mishandles label type insn)
authorTerry Guo <terry.guo@arm.com>
Wed, 18 Jun 2014 10:11:08 +0000 (10:11 +0000)
committerXuepeng Guo <xguo@gcc.gnu.org>
Wed, 18 Jun 2014 10:11:08 +0000 (10:11 +0000)
2014-06-18  Terry Guo  <terry.guo@arm.com>

PR target/61544
* config/arm/arm.c (thumb1_reorg): Move to next basic block if we
reach the head.

From-SVN: r211775

gcc/ChangeLog
gcc/config/arm/arm.c

index 39fa9c24ff6cd6169325dcafcba893bd9086030e..29c8e529b0ef03e2ffee5841e17fcf6930f478ac 100644 (file)
@@ -1,3 +1,9 @@
+2014-06-18  Terry Guo  <terry.guo@arm.com>
+
+       PR target/61544
+       * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
+       reach the head.
+
 2014-06-18  Richard Biener  <rguenther@suse.de>
 
        * common.opt (fssa-phiopt): New option.
index 85d2114826c8c57c12192a4167d89766e608ad6b..463707ea20699b90f376b0819e760def8b61e5ad 100644 (file)
@@ -16946,7 +16946,8 @@ thumb1_reorg (void)
        insn = PREV_INSN (insn);
 
       /* Find the last cbranchsi4_insn in basic block BB.  */
-      if (INSN_CODE (insn) != CODE_FOR_cbranchsi4_insn)
+      if (insn == BB_HEAD (bb)
+         || INSN_CODE (insn) != CODE_FOR_cbranchsi4_insn)
        continue;
 
       /* Get the register with which we are comparing.  */