aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@linaro.org>2012-07-23 17:28:36 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2012-07-23 17:28:36 +0000
commit7839a79c96c4568ad8cb933b83a9176e4a7315fa (patch)
tree859bdbc0561de569c0ae83bba4437e3ed37f8491
parent7a49d85edf2622551d712f8d72459b0a50cd9a27 (diff)
downloadgcc-7839a79c96c4568ad8cb933b83a9176e4a7315fa.zip
gcc-7839a79c96c4568ad8cb933b83a9176e4a7315fa.tar.gz
gcc-7839a79c96c4568ad8cb933b83a9176e4a7315fa.tar.bz2
* config/arm/arm.c (arm_reorg): Ensure all insns are split.
From-SVN: r189790
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arm/arm.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a34897f..f6dafd1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index d5316fe..376274a 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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