On Tue, Jun 19, 2018 at 10:11 AM, augustine.sterl...@gmail.com
wrote:
> On Mon, Jun 18, 2018 at 3:10 PM, Max Filippov wrote:
>>
>> gcc/
>> 2018-06-17 Max Filippov
>>
>> * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
>> constant.
>> (allocate_stack, frame_
On Mon, Jun 18, 2018 at 3:10 PM, Max Filippov wrote:
> gcc/
> 2018-06-17 Max Filippov
>
> * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
> constant.
> (allocate_stack, frame_blockage, *frame_blockage): New patterns.
>
This is OK.
The issue is caused by reordering of stack pointer update after stack
space allocation with instructions that write to the allocated stack
space. In windowed ABI register spill area for the previous call frame
is located just below the stack pointer and may be reloaded back into
the register file o