This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Fix unwind info generated by outliner.
ClosedPublic

Authored by efriedma on May 19 2020, 1:29 PM.

Details

Summary

The offsets were wrong. The result is now the same as what the compiler would generate for a function that spills lr normally.

(Looking over the code, I'm concerned this doesn't work correctly on Windows, since the unwind info there is different, but that's a separate issue, I guess.)

Diff Detail

Event Timeline

efriedma created this revision.May 19 2020, 1:29 PM
dmgreen accepted this revision.May 19 2020, 11:42 PM

Oh right. Nice one. I hadn't even realized it created these cfi directives (although, I'm not sure what I did expect. That they magiked out of thin air?)

I agree that these now create the same as a clang compiled function doing the same thing, and seems to work for the testcase I had that was hanging. LGTM. Thanks.

This revision is now accepted and ready to land.May 19 2020, 11:42 PM
This revision was automatically updated to reflect the committed changes.