improved RTL-level if conversion using scratchpads [half-hammock edition]

Bernd Schmidt
Fri Nov 6 16:28:00 GMT 2015

On 11/06/2015 04:52 PM, Sebastian Pop wrote:

>> opinion). If you want a half-finished redzone allocator, I can send you a
>> patch.
> Yes please.  Let's get it work.

Here you go. This is incomplete and does not compile, but it shows the 
direction I have in mind and isn't too far off. I had a similar patch 
once for a machine that had two stack pointers (don't ask), and I 
started to recreate that for the given problem last week.

The temp slot handling code in function.c needs more frame arguments, 
but I got halfway through them and started wondering whether they should 
be member functions of struct frame_info instead.

The bits in cfgexpand and function, once complete, are essentially all 
that's necessary to support a second frame, but for this to work as a 
redzone allocator it needs to be integrated with target (i.e. i386) 
frame layout code. For purposes of optimizing we may also want to 
establish a maximum frame size for the rz_frame.

Bonus points if reload/lra use this for spilled pseudos that don't live 
across calls, but I can have a go at that if you don't feel like 
tackling it.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: rzalloc.diff
Type: text/x-patch
Size: 21435 bytes
Desc: not available
URL: <>

More information about the Gcc-patches mailing list