Message ID | 168827293.One0uaPfNY@e103209-lin |
---|---|
State | Accepted |
Headers | show |
On 17/10/12 11:55, Matthew Gretton-Dann wrote: > All, > > Ulrich posted the following patch in July: > http://gcc.gnu.org/ml/gcc-patches/2012-07/msg01123.html > > Richard E requested that it be left in testing on trunk for a couple of days > before being backported to 4.7. Three months seems to satisfy the 'couple of > days' requirement :-). > > Is this OK to be backported to 4.7? Cross tested arm-none-linux-gnueabi. > > Thanks, > > Matt > > 2012-10-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org> > > Backported from mainline > 2012-07-23 Ulrich Weigand <ulrich.weigand@linaro.org> > > * config/arm/arm.c (arm_reorg): Ensure all insns are split. > OK. R. > > 20121017-split-insns-noflow.txt > > > diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c > index 35b73c5..3796a80 100644 > --- a/gcc/config/arm/arm.c > +++ b/gcc/config/arm/arm.c > @@ -13337,6 +13337,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 >
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 35b73c5..3796a80 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -13337,6 +13337,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