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] |
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] |