This fixes an issue where the restore point of callee-saves in the
function epilogues was incorrectly calculated when the basic block
consisted of only a RET instruction. This caused dealloc instructions
to be inserted in between the block of callee-save restore instructions,
rather than before it.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp | ||
---|---|---|
1699 | Can we simplify this to something like while (RestoreBegin != MBB.begin() && IsSVECalleeSave(std::prev(RestoreBegin)) --RestoreBegin;, instead of bouncing around in both directions? |
Not due to this patch but since you're here can you remove the extra ";" please?