This is an archive of the discontinued LLVM Phabricator instance.

[AIX][Power10] Restrict prefixed instructions from crossing the 64byte boundary
ClosedPublic

Authored by NeHuang on Apr 22 2021, 1:57 PM.

Details

Summary

This patch adds the support to restrict prefixed instruction from
crossing the 64 byte boundary:

  • Add the infrastructure to register a custom XCOFF streamer
  • Add a custom XCOFF streamer for PowerPC to allow us to intercept instructions as they are being emitted and align all 8 byte instructions to a 64 byte boundary if required by adding a 4 byte nop.

Diff Detail

Event Timeline

NeHuang created this revision.Apr 22 2021, 1:57 PM
NeHuang requested review of this revision.Apr 22 2021, 1:57 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 22 2021, 1:57 PM
NeHuang added a reviewer: Restricted Project.Apr 22 2021, 1:58 PM
NeHuang added a reviewer: jasonliu.
NeHuang edited reviewers, added: sfertile; removed: jasonliu.Apr 23 2021, 9:38 AM
stefanp accepted this revision as: stefanp.Apr 26 2021, 7:42 AM

LGTM

This revision is now accepted and ready to land.Apr 26 2021, 7:42 AM

Thanks @stefanp! Will give it another 24 hours before comitting if any feedback from other reviewers.

amyk added a subscriber: amyk.Apr 26 2021, 6:06 PM
amyk added inline comments.
llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
3

Should this be on the previous line?

18

Minor typo.

llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.h
3

Should the previous line be reformatted so everything fits on a single line?

NeHuang updated this revision to Diff 340841.Apr 27 2021, 7:28 AM

Addressed review comments for the typo and alignment.

NeHuang marked 3 inline comments as done.Apr 27 2021, 7:29 AM
NeHuang updated this revision to Diff 340877.Apr 27 2021, 9:25 AM

Rebasing the patch with main ToT.

This revision was landed with ongoing or failed builds.Apr 27 2021, 9:56 AM
This revision was automatically updated to reflect the committed changes.