This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Match the windows canonical callee saved register order [alternative 3]
ClosedPublic

Authored by mstorsjo on Oct 1 2020, 10:13 AM.

Details

Summary

Another alternative form of D88642 - simpler pairing logic, but more flipping/reversing needed elsewhere instead.

Diff Detail

Event Timeline

mstorsjo created this revision.Oct 1 2020, 10:13 AM
mstorsjo requested review of this revision.Oct 1 2020, 10:13 AM

I think I prefer this approach.

llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
2079

It's not obvious what "Inc" and "IncrementSign" are supposed to mean.

efriedma added inline comments.Oct 1 2020, 10:46 AM
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
2198

Both here and at the other call to setObjectAlignment(), maybe add a comment describing what the stack layout actually looks like as a result of the padding? Would help make it clear why the codepaths are separate.

mstorsjo updated this revision to Diff 295651.Oct 1 2020, 12:48 PM

Gave some variables a more descriptive name, added more comments about stack object alignment/gaps.

This revision is now accepted and ready to land.Oct 1 2020, 12:56 PM