* config/arm/arm.c (arm_reorg): Ensure all insns are split.
authorUlrich Weigand <ulrich.weigand@linaro.org>
Mon, 23 Jul 2012 17:28:36 +0000 (17:28 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Mon, 23 Jul 2012 17:28:36 +0000 (17:28 +0000)
From-SVN: r189790

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

index a34897f..f6dafd1 100644 (file)
@@ -1,3 +1,7 @@
+2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       * config/arm/arm.c (arm_reorg): Ensure all insns are split.
+
 2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/53961
index d5316fe..376274a 100644 (file)
@@ -13415,6 +13415,13 @@ arm_reorg (void)
   if (TARGET_THUMB2)
     thumb2_reorg ();
 
+  /* Ensure all insns that must be split have been split at this point.
+     Otherwise, the pool placement code below may compute incorrect
+     insn lengths.  Note that when optimizing, all insns have already
+     been split at this point.  */
+  if (!optimize)
+    split_all_insns_noflow ();
+
   minipool_fix_head = minipool_fix_tail = NULL;
 
   /* The first insn must always be a note, or the code below won't