This is an archive of the discontinued LLVM Phabricator instance.

Teach the backend to make references to swift_async_extendedFramePointerFlags weak if it emits it
ClosedPublic

Authored by aschwaighofer on Dec 13 2021, 1:40 PM.

Details

Summary

When references to the symbol swift_async_extendedFramePointerFlags
are emitted they have to be weak.

References to the symbol swift_async_extendedFramePointerFlags get
emitted only by frame lowering code. Therefore, the backend needs to track
references to the symbol and mark them weak.

Diff Detail

Event Timeline

aschwaighofer created this revision.Dec 13 2021, 1:40 PM
aschwaighofer requested review of this revision.Dec 13 2021, 1:40 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 13 2021, 1:40 PM
t.p.northover accepted this revision.Dec 15 2021, 7:09 AM

Some minor issues, but other than that I think it looks OK.

llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
1142

Opd.isSymbol() is probably better.

1143–1144

Does == not work here? I thought we had enough overrides that once you had one StringRef you were set.

llvm/lib/Target/X86/X86MCInstLower.cpp
2414

Minor issue, LLVM coding style has local variables starting with an upper-case letter.

This revision is now accepted and ready to land.Dec 15 2021, 7:09 AM

Address review comments.

aschwaighofer marked 3 inline comments as done.Dec 15 2021, 8:42 AM
This revision was landed with ongoing or failed builds.Dec 15 2021, 10:03 AM
This revision was automatically updated to reflect the committed changes.