Displaying 2 results from an estimated 2 matches for "getstackpointerregistertosaverestor".
Did you mean:
getstackpointerregistertosaverestore
2018 Apr 09
2
Issue with shrink wrapping
...uch that
along a certain path, the callee-saved registers and the stack pointer are
restored, but then the stack pointer is overwritten with an incorrect value.
I've "fixed" this by modifying `ShrinkWrap::useOrDefCSROrFI` to explicitly
check
for the stack pointer register (using
`TLI.getStackPointerRegisterToSaveRestore`) and also to ignore tall call
instructions (`isCall() && isReturn()`), since they implictly use SP (for
AArch{32,64} at least).
Does this look correct? Are there alternatives?
Shouldn't `ShrinkWrap::useOrDefCSROrFI` also check whether or not
`MachineInstr::Frame{Setup,Destroy}` flag...
2018 Apr 10
0
Issue with shrink wrapping
...path, the callee-saved registers and the stack pointer are
> restored, but then the stack pointer is overwritten with an incorrect value.
>
> I've "fixed" this by modifying `ShrinkWrap::useOrDefCSROrFI` to explicitly check
> for the stack pointer register (using
> `TLI.getStackPointerRegisterToSaveRestore`)
This part sounds ok to me. Can you put up a patch please?
> and also to ignore tall call
> instructions (`isCall() && isReturn()`), since they implictly use SP (for
> AArch{32,64} at least).
Calls are handled through the regmask check, and return blocks should be handled by t...