[Bug rtl-optimization/84058] [8 Regression] RTl partitioning fixup should drag very small blocks back to hot partition

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Apr 8 10:14:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84058

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Created attachment 43876
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43876&action=edit
Patch I am testing

Turns out that those are mostly artifacts of the fact that basically all of
cfg-cleanup has been hacked to do nothing on crossing jumps.  The first example
I gave is missing jump forwarding, second is crossjumping.

There seems to be no inherent reason why one would reject such transforms.  I
think all we need to do treat crossing jumps as "far" and never turn near jumps
to far ones. We could however turn far ones to near or redirect far from one
far BB to another.

The patch enables jump forwarding. It passes lto profiledbootstrap and
profiledbootstrap.  I am going to test firefox and ARM machine.

Honza


More information about the Gcc-bugs mailing list