On 11 October 2013 04:53, Jeff Law <l...@redhat.com> wrote:
 > With your change it seems to me that we do a single round of spilling &
> caller-save setup, then align the stack, then restart.  The net result being
> we align the stack a lot more often.

Yes, but AFAICT, that should not result in more space being used,
because assign_stack_local uses ASLK_RECORD_PAD, so
assign_stack_local_1 will record any space
added for alignment purposes with add_frame_space, so it can be used
for a subsequent spill of suitable size.

Also, trying to do register elimination with an unaligned frame size
could lead to invalid stack slot addresses; if not ICEs, these could
lead to extra reloads, extra spill register needs, and thus ultimately
more
spills and larger frame size.

Reply via email to