[ARM] Add support for ARMV6K subtarget (Clang)
authorRenato Golin <renato.golin@linaro.org>
Tue, 17 Mar 2015 11:55:43 +0000 (11:55 +0000)
committerRenato Golin <renato.golin@linaro.org>
Tue, 17 Mar 2015 11:55:43 +0000 (11:55 +0000)
commite11531f7ea907e65cd38922950845bbe423517ad
treec69cf60f71c3f96d143d63be45da13083bef39f2
parent12350607344c9dba651ae1daf7560019a693f42d
[ARM] Add support for ARMV6K subtarget (Clang)

ARMv6K is another layer between ARMV6 and ARMV6T2. This is the Clang
side of the changes.

ARMV6 family LLVM implementation.

+-------------------------------------+
| ARMV6                               |
+----------------+--------------------+
| ARMV6M (thumb) | ARMV6K (arm,thumb) | <- From ARMV6K and ARMV6M processors
+----------------+--------------------+    have support for hint instructions
| ARMV6T2 (arm,thumb,thumb2)          |    (SEV/WFE/WFI/NOP/YIELD). They can
+-------------------------------------+    be either real or default to NOP.
| ARMV7 (arm,thumb,thumb2)            |    The two processors also use
+-------------------------------------+    different encoding for them.

Patch by Vinicius Tinti.

llvm-svn: 232469
clang/lib/Basic/Targets.cpp
clang/lib/Driver/Tools.cpp
clang/test/Driver/arm-cortex-cpus.c
clang/test/Driver/arm-mfpu.c
clang/test/Driver/biarch.c
clang/test/Driver/darwin-version.c