This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][WinCFI] Do not pair callee-save instructions in LoadStoreOptimizer
ClosedPublic

Authored by sdesmalen on Aug 6 2019, 10:16 AM.

Details

Summary

Prevent the LoadStoreOptimizer from pairing any load/store instructions with instructions from
the prologue/epilogue if the CFI information has encoded the operations as separate instructions.
This would otherwise lead to a mismatch of the actual prologue size from the size as recorded
in the Windows CFI.

Diff Detail

Repository
rL LLVM

Event Timeline

sdesmalen created this revision.Aug 6 2019, 10:16 AM
efriedma accepted this revision.Aug 6 2019, 12:17 PM

LGTM

test/CodeGen/AArch64/wineh1.mir
45 ↗(On Diff #213646)

Please add a comment explaining what this is testing.

This revision is now accepted and ready to land.Aug 6 2019, 12:17 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptAug 7 2019, 5:40 AM
sdesmalen marked an inline comment as done.Aug 7 2019, 5:41 AM