AArch64: Do not test for CPUs, use SubtargetFeatures

Description

AArch64: Do not test for CPUs, use SubtargetFeatures

Testing for specific CPUs has a number of problems, better use subtarget
features:

  • When some tweak is added for a specific CPU it is often desirable for the next version of that CPU as well, yet we often forget to add it.
  • It is hard to keep track of checks scattered around the target code; Declaring all target specifics together with the CPU in the tablegen file is a clear representation.
  • Subtarget features can be tweaked from the command line.

To discourage people from using CPU checks in the future I removed the
isCortexXX(), isCyclone(), ... functions. I added an getProcFamily()
function for exceptional circumstances but made it clear in the comment
that usage is discouraged.

Reformat feature list in AArch64.td to have 1 feature per line in
alphabetical order to simplify merging and sorting for out of tree
tweaks.

No functional change intended.

Differential Revision: http://reviews.llvm.org/D20762

Details

Committed
matzeJun 2 2016, 11:03 AM
Differential Revision
D20762: AArch64: Do not test for CPUs, use SubtargetFeatures
Parents
rL271554: [InstCombine] remove guard for generating a vector select
Branches
Unknown
Tags
Unknown