Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit 7cbf72b

Browse files
Artyom SkrobovArtyom Skrobov
authored andcommitted
Handle ARMv6-J as an alias, instead of fake architecture
Summary: This follows D14577 to treat ARMv6-J as an alias for ARMv6, instead of an architecture in its own right. The functional change is that the default CPU when targeting ARMv6-J changes from arm1136j-s to arm1136jf-s, which is currently used as the default CPU for ARMv6; both are, in fact, ARMv6-J CPUs. The J-bit (Jazelle support) is irrelevant to LLVM, and it doesn't affect code generation, attributes, optimizations, or anything else, apart from selecting the default CPU. Reviewers: rengolin, logan, compnerd Subscribers: aemerson, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D14755 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253675 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent c6b24c2 commit 7cbf72b

File tree

6 files changed

+4
-42
lines changed

6 files changed

+4
-42
lines changed

include/llvm/Support/ARMTargetParser.def

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,6 @@ ARM_ARCH("iwmmxt2", AK_IWMMXT2, "iwmmxt2", "", ARMBuildAttrs::CPUArch::v5TE,
9595
FK_NONE, AEK_NONE)
9696
ARM_ARCH("xscale", AK_XSCALE, "xscale", "", ARMBuildAttrs::CPUArch::v5TE,
9797
FK_NONE, AEK_NONE)
98-
ARM_ARCH("armv6j", AK_ARMV6J, "6J", "v6", ARMBuildAttrs::CPUArch::v6,
99-
FK_NONE, AEK_DSP)
10098
ARM_ARCH("armv7s", AK_ARMV7S, "7-S", "v7s", ARMBuildAttrs::CPUArch::v7,
10199
FK_NEON_VFPV4, AEK_DSP)
102100
ARM_ARCH("armv7k", AK_ARMV7K, "7-K", "v7k", ARMBuildAttrs::CPUArch::v7,
@@ -169,7 +167,9 @@ ARM_CPU_NAME("arm10e", AK_ARMV5TE, FK_NONE, false, AEK_NONE)
169167
ARM_CPU_NAME("arm1020e", AK_ARMV5TE, FK_NONE, false, AEK_NONE)
170168
ARM_CPU_NAME("arm1022e", AK_ARMV5TE, FK_NONE, true, AEK_NONE)
171169
ARM_CPU_NAME("arm926ej-s", AK_ARMV5TEJ, FK_NONE, true, AEK_NONE)
170+
ARM_CPU_NAME("arm1136j-s", AK_ARMV6, FK_NONE, false, AEK_NONE)
172171
ARM_CPU_NAME("arm1136jf-s", AK_ARMV6, FK_VFPV2, true, AEK_NONE)
172+
ARM_CPU_NAME("arm1136jz-s", AK_ARMV6, FK_NONE, false, AEK_NONE)
173173
ARM_CPU_NAME("arm1176j-s", AK_ARMV6K, FK_NONE, true, AEK_NONE)
174174
ARM_CPU_NAME("arm1176jz-s", AK_ARMV6KZ, FK_NONE, false, AEK_NONE)
175175
ARM_CPU_NAME("mpcore", AK_ARMV6K, FK_VFPV2, false, AEK_NONE)
@@ -211,8 +211,6 @@ ARM_CPU_NAME("cyclone", AK_ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false, AEK_CRC)
211211
// Non-standard Arch names.
212212
ARM_CPU_NAME("iwmmxt", AK_IWMMXT, FK_NONE, true, AEK_NONE)
213213
ARM_CPU_NAME("xscale", AK_XSCALE, FK_NONE, true, AEK_NONE)
214-
ARM_CPU_NAME("arm1136j-s", AK_ARMV6J, FK_NONE, true, AEK_NONE)
215-
ARM_CPU_NAME("arm1136jz-s", AK_ARMV6J, FK_NONE, false, AEK_NONE)
216214
ARM_CPU_NAME("swift", AK_ARMV7S, FK_NEON_VFPV4, true,
217215
(AEK_HWDIVARM | AEK_HWDIV))
218216
ARM_CPU_NAME("cortex-a7", AK_ARMV7K, FK_NONE, true, AEK_HWDIVARM | AEK_HWDIV)

lib/Support/TargetParser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ static StringRef getArchSynonym(StringRef Arch) {
400400
return StringSwitch<StringRef>(Arch)
401401
.Case("v5", "v5t")
402402
.Case("v5e", "v5te")
403+
.Case("v6j", "v6")
403404
.Case("v6hl", "v6k")
404405
.Cases("v6m", "v6sm", "v6s-m", "v6-m")
405406
.Cases("v6z", "v6zk", "v6kz")
@@ -579,7 +580,6 @@ unsigned llvm::ARM::parseArchVersion(StringRef Arch) {
579580
case ARM::AK_ARMV5TEJ:
580581
return 5;
581582
case ARM::AK_ARMV6:
582-
case ARM::AK_ARMV6J:
583583
case ARM::AK_ARMV6K:
584584
case ARM::AK_ARMV6T2:
585585
case ARM::AK_ARMV6KZ:

lib/Support/Triple.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,6 @@ static Triple::SubArchType parseSubArch(StringRef SubArchName) {
496496
case ARM::AK_ARMV5TEJ:
497497
return Triple::ARMSubArch_v5te;
498498
case ARM::AK_ARMV6:
499-
case ARM::AK_ARMV6J:
500499
return Triple::ARMSubArch_v6;
501500
case ARM::AK_ARMV6K:
502501
case ARM::AK_ARMV6KZ:

lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,6 @@ void ARMTargetELFStreamer::emitArchDefaultAttributes() {
710710
case ARM::AK_ARMV5T:
711711
case ARM::AK_ARMV5TE:
712712
case ARM::AK_ARMV6:
713-
case ARM::AK_ARMV6J:
714713
setAttributeItem(ARM_ISA_use, Allowed, false);
715714
setAttributeItem(THUMB_ISA_use, Allowed, false);
716715
break;

test/MC/ARM/directive-arch-armv6j.s

Lines changed: 0 additions & 34 deletions
This file was deleted.

unittests/ADT/TripleTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ TEST(TripleTest, getARMCPUForArch) {
852852
}
853853
{
854854
llvm::Triple Triple("armv6j-unknown-eabi");
855-
EXPECT_EQ("arm1136j-s", Triple.getARMCPUForArch());
855+
EXPECT_EQ("arm1136jf-s", Triple.getARMCPUForArch());
856856
}
857857
{
858858
llvm::Triple Triple("armv6k-unknown-eabi");

0 commit comments

Comments
 (0)