This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel] Propagate PCSections metadata to MachineInstr
ClosedPublic

Authored by melver on Aug 1 2022, 1:59 AM.

Details

Summary

Propagate (most) PC sections metadata to MachineInstr when GlobalISel is
doing instruction selection.

This change results in support for architectures using GlobalISel (such
as -O0 with AArch64). Not all instructions may be supported yet, and
requires further target-specific handling (such as done for AArch64
pseudo-atomics). Expanding supported instructions is planned on a
case-by-case basis and new use cases for PC sections metadata.

Depends on D130885

Diff Detail

Event Timeline

melver created this revision.Aug 1 2022, 1:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 1 2022, 1:59 AM
melver requested review of this revision.Aug 1 2022, 1:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 1 2022, 1:59 AM
melver updated this revision to Diff 450031.Aug 4 2022, 9:58 AM
melver edited the summary of this revision. (Show Details)

Rebase.

vitalybuka accepted this revision.Sep 2 2022, 10:31 AM

LGTM, I guess it's close to NFC
if not, it would be nice see some new CHECKS under llvm/test/CodeGen/AArch64/

This revision is now accepted and ready to land.Sep 2 2022, 10:31 AM
This revision was landed with ongoing or failed builds.Sep 7 2022, 2:38 AM
This revision was automatically updated to reflect the committed changes.
arsenm added a comment.Sep 9 2022, 6:55 AM

Missing tests