This is an archive of the discontinued LLVM Phabricator instance.

[X86] Remove little support we had for MPX
ClosedPublic

Authored by MaskRay on Oct 10 2021, 7:50 PM.

Details

Summary

GCC 9.1 removed Intel MPX support. Linux kernel removed MPX in 2019.
Our support is limited: we support assembling of bndmov but not bnd.

Just remove MPX code.

Diff Detail

Event Timeline

MaskRay created this revision.Oct 10 2021, 7:50 PM
MaskRay requested review of this revision.Oct 10 2021, 7:50 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2021, 7:50 PM
skan added a comment.Oct 10 2021, 8:04 PM

GCC 9.1 removed Intel MPX support. Linux kernel removed MPX in 2019.

Could you provide some links by comments?

https://gcc.gnu.org/gcc-9/changes.html "Support of Intel MPX (Memory Protection Extensions) has been removed."

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ccaaaf6fe5a5e1fffca5cca0f3fc4ec84d7ae752

Mentioning the removal should be sufficient, no need to add them to the summary (commit message).

Does binutils still support MPX?

llvm/lib/Target/X86/X86InstrMPX.td
19

Should the BNDR register class from X86RegisterInfo.td be removed?

MaskRay updated this revision to Diff 378576.Oct 10 2021, 11:49 PM

Remove the BNDR register class from X86RegisterInfo.td

Seems the two fails are both related to this change.

MaskRay updated this revision to Diff 378737.Oct 11 2021, 11:03 AM

fix tests

Herald added a project: Restricted Project. · View Herald TranscriptOct 11 2021, 11:03 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript
pengfei accepted this revision.Oct 11 2021, 7:02 PM

LGTM.

This revision is now accepted and ready to land.Oct 11 2021, 7:02 PM
skan accepted this revision.Oct 12 2021, 1:13 AM

LGTM

This revision was landed with ongoing or failed builds.Oct 12 2021, 4:19 PM
This revision was automatically updated to reflect the committed changes.
llvm/test/CodeGen/X86/ipra-reg-usage.ll