This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA 1/n] Fix if conversion interactions with block partitioning


On Wednesday 05 September 2012 13:47:19 Steven Bosscher wrote:
> On Wed, Sep 5, 2012 at 1:25 PM, Matthew Gretton-Dann wrote:
> > +  /* If the two blocks are in different partitions we do not want to mark
> > +     this as a fallthru edge.  */
> > +  if (BB_PARTITION (b) != BB_PARTITION (c))
> > +    return;
> > +
> 
> I think you should look for a REG_CROSSING_JUMP note on BB_END instead
> of comparing BB_PARTITION.

Sorry for the delay in getting  back to this.

Anyway, I had a look at how other parts of cfgrtl.c handled this and it seems 
as if they do both your suggestion and the check against different partitions.

So this is what I have implemented in the attached patch.

Cross tested arm-none-linux-gnueabi with QEmu.

OK for trunk?

Thanks,

Matt

gcc/ChangeLog:

2012-09-24  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>

        * cfgrtl.c (rtl_tidy_fallthru_edge): Don't tidy edges which
          cross partitions.

-- 
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann@linaro.org

Attachment: rtl_tidy_fallthru_edge.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]