This is an archive of the discontinued LLVM Phabricator instance.

[ARM64] Conditionalize CPU specific system registers on subtarget features
ClosedPublic

Authored by bsmith on May 1 2014, 2:56 AM.

Details

Summary

Currently there is no conditionalization on any CPU specific system registers hence they are assembled/disassembled when they are not defined (i.e. in the case of Cyclone sysregs for the generic CPU). This patch fixes this by passing the subtarget feature bits through to the system register mappers so that only systems registers valid in the current context are handled.

Diff Detail

Event Timeline

bsmith updated this revision to Diff 9009.May 1 2014, 2:56 AM
bsmith retitled this revision from to [ARM64] Conditionalize CPU specific system registers on subtarget features.
bsmith updated this object.
bsmith edited the test plan for this revision. (Show Details)
bsmith added a reviewer: t.p.northover.
bsmith set the repository for this revision to rL LLVM.
bsmith added a subscriber: Unknown Object (MLST).
t.p.northover edited edge metadata.May 1 2014, 3:28 AM

Hi Bradley,

This looks reasonable to me. It may not scale that well when there are thousands of different CPUs, but we can do some refactoring when that happens.

Cheers.

Tim.

bsmith accepted this revision.May 1 2014, 3:35 AM
bsmith added a reviewer: bsmith.
This revision is now accepted and ready to land.May 1 2014, 3:35 AM
bsmith closed this revision.May 1 2014, 3:35 AM