This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Fw: GSoC topic: Implement hot cold splitting at GIMPLE IR level
Hi!
On Tue, Mar 03, 2020 at 10:25:32PM +0100, Jan Hubicka wrote:
> I think this is bit stronger to what llvm does currently which relies on
> outlining SESE regions earlier rather than going through the pain of
> implementing support for partitioning.
OTOH outlining can result in improved code, too (it will naturally keep
all "cold" variables in the cold outlined function, because of SESE).
> 3) function partitioning is enabled only for x86. I never had time to
> get it working on other targets and no-one picked up this task
What makes this not completely generic in the first place?
> 8) Most of non-x86 backends do not implement very well the hot/cold
> code models and instruction choice.
I'm not sure what this means, could you expand?
> 9) Shrink-wrapping and register allocation is not always able to move
> spilling to code paths but this is generally very hard problem to
> track.
Separate shrink-wrapping should handle this quite well. But, currently
shrink-wrapping does not move existing code very much, which could
improve this further (doing some kind of rematerialisation, essentially).
Segher