Displaying 2 results from an estimated 2 matches for "useordefcsrorfi".
2018 Apr 09
2
Issue with shrink wrapping
...d register.
The end effect is that placement of register save/restore code is such 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'...
2018 Apr 10
0
Issue with shrink wrapping
...effect is that placement of register save/restore code is such 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`)
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
>...