This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Emit some .cfi_* for non-SVE cases in emitEpilogue
AbandonedPublic

Authored by MaskRay on Sep 3 2021, 12:30 PM.

Details

Reviewers
None
Summary

WIP.

Ideally .cfi_def_offset should be used instead. .cfi_adjust_cfa_offset is used for now.

There are many epilogue code paths where .cfi_* directives are missing.
They need separate fixes.

Something is not correct yet (e.g. addsub-constant-folding.ll)

Diff Detail

Event Timeline

MaskRay created this revision.Sep 3 2021, 12:30 PM
MaskRay requested review of this revision.Sep 3 2021, 12:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 3 2021, 12:30 PM
MaskRay retitled this revision from [AArch64] Emit some .cfi_* for non-SVE cases in emitEpilogue WIP to [AArch64] Emit some .cfi_* for non-SVE cases in emitEpilogue.Sep 3 2021, 12:33 PM
MaskRay edited the summary of this revision. (Show Details)
MaskRay added inline comments.Sep 3 2021, 12:37 PM
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
1688

SVE callee save stack seems very difficult, so not in the scope of this patch.

llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
279

This is incorrect.

1486

This is apparently incorrect.

MaskRay updated this revision to Diff 370748.Sep 4 2021, 11:22 AM

fix some issues

Matt added a subscriber: Matt.Sep 7 2021, 5:25 AM
MaskRay abandoned this revision.Mar 25 2022, 11:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 25 2022, 11:21 PM
Herald added a subscriber: StephenFan. · View Herald Transcript