This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][Windows] Fix the slot offset of the swift async context register.
ClosedPublic

Authored by hjyamauchi on Jul 26 2023, 10:03 PM.

Details

Summary

This fixes a code gen issue where savings the swift async context register (x22) accidentally overwrites the saved value of another callee-saved register, corrupts its value and causes a crash.

Diff Detail

Event Timeline

hjyamauchi created this revision.Jul 26 2023, 10:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 26 2023, 10:03 PM
hjyamauchi requested review of this revision.Jul 26 2023, 10:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 26 2023, 10:03 PM
compnerd accepted this revision.Jul 27 2023, 5:41 AM

Ah right, the ABI mandates the FP, LR spill. Thanks for fixing this!

This revision is now accepted and ready to land.Jul 27 2023, 5:41 AM
This revision was landed with ongoing or failed builds.Jul 27 2023, 12:33 PM
This revision was automatically updated to reflect the committed changes.