This is an archive of the discontinued LLVM Phabricator instance.

Implement RAS extensions for ARMv8.2-A
ClosedPublic

Authored by rogfer01 on May 16 2016, 3:46 AM.

Details

Summary

RAS extensions are part of ARMv8.2-A. This change enables them by introducing a
new instruction to ARM and AArch64 targets and several system registers.

Diff Detail

Repository
rL LLVM

Event Timeline

rogfer01 updated this revision to Diff 57330.May 16 2016, 3:46 AM
rogfer01 retitled this revision from to Implement RAS extensions for ARMv8.2-A.
rogfer01 updated this object.
rogfer01 added a reviewer: t.p.northover.
rogfer01 added a subscriber: llvm-commits.
t.p.northover edited edge metadata.May 16 2016, 1:42 PM

This mostly looks reasonable, just one consistency niggle with the naming:

include/llvm/Support/ARMTargetParser.def
127 ↗(On Diff #57330)

I'd just use "+/-ras". The "ext" is a bit redundant.

rogfer01 added inline comments.May 17 2016, 3:05 AM
include/llvm/Support/ARMTargetParser.def
127 ↗(On Diff #57330)

Unfortunately "ras" is already taken for an unrelated thing in the ARM target. And it seems to conflict with this. Doable but I'm afraid the patch will be slightly noisier.

rogfer01 updated this revision to Diff 57450.May 17 2016, 3:16 AM
rogfer01 edited edge metadata.

Changed +/-rasext to +/-ras. Also rename unrelated existing "ras" feature in ARM target to something more descriptive.

Ping?

Thanks

Bother, forgot to hit submit...

Thanks for updating the patch. I think it's an improvement, both are pretty short names but at least the new RAS has documentary support. LGTM!

t.p.northover accepted this revision.May 20 2016, 9:40 AM
t.p.northover edited edge metadata.
This revision is now accepted and ready to land.May 20 2016, 9:40 AM
rogfer01 updated this revision to Diff 59546.Jun 3 2016, 6:47 AM
rogfer01 edited edge metadata.

This is just the same patch updated against the current trunk

This revision was automatically updated to reflect the committed changes.