Get Triple::getARMCPUForArch() to use TargetParser
authorRenato Golin <renato.golin@linaro.org>
Wed, 20 May 2015 15:05:07 +0000 (15:05 +0000)
committerRenato Golin <renato.golin@linaro.org>
Wed, 20 May 2015 15:05:07 +0000 (15:05 +0000)
commit8ca7ac2a38a8bb47d06d0fcd809944fbd09aa718
tree2967065085656f7027e025815cbb7cf250103a92
parent5a2d7152358be21d3e79d14d6365a516b7b48844
Get Triple::getARMCPUForArch() to use TargetParser

First ARMTargetParser FIXME, conservatively changing the way we parse CPUs
in the back-end. Still not perfect, with a lot of special cases, but moving
towards a more generic solution.

Moving all logic to the target parser made some unwritten assumptions
about architectures in Clang to break. I've added a lot of architectures
required by Clang, and default to CPUs that Clang believes it should
(and I agree).

I've also added a lot of unit tests, with the correct CPU for each
architecture, and Clang seems to be working correctly, too.

It also became clear that using "unsigned ID" as the argument for the get
methods makes it hard to know what ID, so I also changed the argument names
to match the enum type names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237797 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/TargetParser.h
lib/Support/TargetParser.cpp
lib/Support/Triple.cpp
unittests/ADT/TripleTest.cpp