]> granicus.if.org Git - clang/commit
Re-work the Clang system for classifying Intel x86 CPUs to use their
authorChandler Carruth <chandlerc@gmail.com>
Tue, 9 Dec 2014 14:50:25 +0000 (14:50 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 9 Dec 2014 14:50:25 +0000 (14:50 +0000)
commitf15b19d8b208fb43a8a7b790b094e51a77aab38b
treeb8b3749a6c8ef04e05480c4c1313fc0616408cbd
parent71952900201bd84d65ddd6ad845624800ce278f0
Re-work the Clang system for classifying Intel x86 CPUs to use their
basic microarchitecture names, and add support (with tests) for parsing
all of the masic microarchitecture names for CPUs documented to be
accepted by GCC with -march. I didn't go back through the 32-bit-only
old microarchitectures, but this at least brings the recent architecture
names up to speed. This is essentially the follow-up to the LLVM commit
r223769 which did similar cleanups for the LLVM CPUs.

One particular benefit is that you can now use -march=westmere in Clang
and get the LLVM westmere processor which is a different ISA variant (!)
and so quite significant.

Much like with r223769, I would appreciate the Intel folks carefully
thinking about the macros defined, names used, etc for the atom chips
and newest primary x86 chips. The current patterns seem quite strange to
me, especially here in Clang.

Note that I haven't replicated the per-microarchitecture macro defines
provided by GCC. I'm really opposed to source code using these rather
than using ISA feature macros.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223776 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Basic/Targets.cpp
test/Driver/x86-march.c [new file with mode: 0644]
test/Frontend/x86-target-cpu.c [new file with mode: 0644]