[X86] Separate CPU Feature lists in X86.td between architecture features and tuning...
authorCraig Topper <craig.topper@intel.com>
Fri, 31 Jul 2020 00:05:06 +0000 (17:05 -0700)
committerCraig Topper <craig.topper@intel.com>
Fri, 31 Jul 2020 00:19:19 +0000 (17:19 -0700)
commit3ad09fd03c51823aeb0bcbd7898aada33e9228d6
tree8a185272524a7a72cd936b6bca23fc5eb8235298
parent49def10e02e35e56d1249405a650b161245f87b0
[X86] Separate CPU Feature lists in X86.td between architecture features and tuning features

After the recent change to the tuning settings for pentium4 to improve our default 32-bit behavior, I've decided to see about implementing -mtune support. This way we could have a default architecture CPU of "pentium4" or "x86-64" and a default tuning cpu of "generic". And we could change our "pentium4" tuning settings back to what they were before.

As a step to supporting this, this patch separates all of the features lists for the CPUs into 2 lists. I'm using the Proc class and a new ProcModel class to concat the 2 lists before passing to the target independent ProcessorModel. Future work to truly support mtune would change ProcessorModel to take 2 lists separately. I've diffed the X86GenSubtargetInfo.inc file before and after this patch to ensure that the final feature list for the CPUs isn't changed.

Differential Revision: https://reviews.llvm.org/D84879
llvm/lib/Target/X86/X86.td