aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTerry Guo <terry.guo@arm.com>2014-06-18 10:11:08 +0000
committerXuepeng Guo <xguo@gcc.gnu.org>2014-06-18 10:11:08 +0000
commit35d147ef16192080c370e3c3ea6f1c8e4238da0d (patch)
tree3f3c50d9da3aa2d656f85d5cba50773c6f2f9533 /gcc
parentad4684c22a15c7ec945c11a2ae9688b622d63cff (diff)
downloadgcc-35d147ef16192080c370e3c3ea6f1c8e4238da0d.zip
gcc-35d147ef16192080c370e3c3ea6f1c8e4238da0d.tar.gz
gcc-35d147ef16192080c370e3c3ea6f1c8e4238da0d.tar.bz2
re PR target/61544 (ICE due to thumb1_reorg function mishandles label type insn)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 39fa9c2..29c8e52 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 85d2114..463707e 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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. */