Commit Graph

5 Commits

Author SHA1 Message Date
Craig Topper
bb324a11f8 [X86] Move the information about the feature bits used by compiler-rt and shared by Host.cpp to a .def file and TargetParser.h so clang can make use of it.
Since we keep Host.cpp and compiler-rt relatively in sync, clang can use this information as a proxy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318814 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-21 23:36:42 +00:00
Craig Topper
c2076189ef [X86] Add getHostCPUName support for cannonlake.
This adds an explicit model number check and fallback path to the unknown family 6 detection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318270 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-15 06:02:42 +00:00
Craig Topper
f004f4147f [X86] Correct the spelling of pentiumpro in X86TargetParser.def
Thanks to Erich Keane for spotting this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318243 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-15 01:01:50 +00:00
Craig Topper
c8d2a1deb9 [X86] Fix the parameter order in the default implementation of X86_VENDOR macro in X86TargetParser.def
The default implementation doesn't do anything so the order doesn't matter, but good for cleanliness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318226 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 23:54:28 +00:00
Craig Topper
ec87e5d458 [X86] Add a def file to CPU vendor, type, and subtype encodings used by Host.cpp
Summary:
I want to leverage this to clean up some of the code in clang. This will allow us to simplify D39521 which was trying to do some of the same.

If we accurately keep the code in Host.cpp synced with new CPUs added to compile-rt/libgcc we should be able to use this file as a proxy for what's implemented in the libraries.

The entries for the CPUs recognized by the libraries use separate macros that define additional parameters like the name for __builtin_cpu_is and an alias string for the couple cases where __builtin_cpu_is accepts two different names.

All of the macros contain an ARCHNAME that is usually the same as the __builtin_cpu_is string, but sometimes isn't. This represents the name recognized by X86.td and -march.

I'm following the precedent set by ARM and AArch64 and adding this information to lib/Support/TargetParser.cpp

Reviewers: erichkeane, echristo, asbirlea

Reviewed By: echristo

Subscribers: llvm-commits, aemerson, kristof.beyls

Differential Revision: https://reviews.llvm.org/D39782

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317900 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-10 17:10:57 +00:00