This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][v8.5A] Add MTE as an optional AArch64 extension
ClosedPublic

Authored by olista01 on Sep 25 2018, 7:18 AM.

Details

Summary

This adds the memory tagging extension, which is an optional extension
introduced in v8.5A. The new instructions and registers will be added by
subsequent patches.

Patch by Pablo Barrio!

Diff Detail

Repository
rL LLVM

Event Timeline

olista01 created this revision.Sep 25 2018, 7:18 AM
eugenis added inline comments.Sep 25 2018, 2:27 PM
include/llvm/Support/AArch64TargetParser.def
74 ↗(On Diff #166903)

Just wondering, is there a reason this is called "memtag" and not "mte"?

olista01 added inline comments.Sep 26 2018, 2:51 AM
include/llvm/Support/AArch64TargetParser.def
74 ↗(On Diff #166903)

I think we picked "memtag" over "mte" as it is more likely to be meaningful to users who don't remember all of the acronyms.

SjoerdMeijer added inline comments.Sep 26 2018, 3:33 AM
include/llvm/Support/AArch64TargetParser.def
74 ↗(On Diff #166903)

For exactly that reason, I was thinking about commenting on "rng" on the other patch, because I initially found that a bit cryptic. Why not just "rand", which I think is a lot more meaninfull than rng. But anyway, this is probably bikeshedding, and rng has probably been synchronised with the GCC community...

Ping. This is the last patch for Armv8.5A (dis)assembler support which needs review, all of the ones adding the memory tagging instructions and registers are approved but depend on this one, and all of the other features are now committed.

SjoerdMeijer accepted this revision.Oct 2 2018, 12:52 AM

Looks okay to me.

This revision is now accepted and ready to land.Oct 2 2018, 12:52 AM
This revision was automatically updated to reflect the committed changes.