]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* 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 a34897f013600829656e9533114653462e981a59..f6dafd17a343e937fdb7c2685204d3876e584b0f 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 d5316fef64177e84d9abe59642b484844457a254..376274a6cef69c2721c8ae12426c0ac8d0bdb2aa 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