[PATCH] D103028: [llvm][ARM] Add CPU defs for arm2/3/6/7m
David Spickett via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 2 03:36:29 PDT 2021
DavidSpickett updated this revision to Diff 349221.
DavidSpickett added a comment.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Instead of adding CPUs to llvm, remove them from clang.
If anyone was using them they weren't making any difference,
apart from generating warnings.
I checked the linux tree and found only 2 similair strings.
A Freescale "Armardillo2" aka arm2 board, which is actually using
a cortex A-9, and a comment in a file for the ARM720 which
is actually an ARM7TDMI-S CPU.
Whether we generate correct code for pre v4 is a
question for a different time, so the architectures remain.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103028/new/
https://reviews.llvm.org/D103028
Files:
clang/test/Misc/target-invalid-cpu-note.c
llvm/include/llvm/Support/ARMTargetParser.def
llvm/unittests/Support/TargetParserTest.cpp
Index: llvm/unittests/Support/TargetParserTest.cpp
===================================================================
--- llvm/unittests/Support/TargetParserTest.cpp
+++ llvm/unittests/Support/TargetParserTest.cpp
@@ -124,10 +124,6 @@
ARMCPUTestParams("invalid", "invalid", "invalid", ARM::AEK_NONE, ""),
ARMCPUTestParams("generic", "invalid", "none", ARM::AEK_NONE, ""),
- ARMCPUTestParams("arm2", "armv2", "none", ARM::AEK_NONE, "2"),
- ARMCPUTestParams("arm3", "armv2a", "none", ARM::AEK_NONE, "2A"),
- ARMCPUTestParams("arm6", "armv3", "none", ARM::AEK_NONE, "3"),
- ARMCPUTestParams("arm7m", "armv3m", "none", ARM::AEK_NONE, "3M"),
ARMCPUTestParams("arm8", "armv4", "none", ARM::AEK_NONE, "4"),
ARMCPUTestParams("arm810", "armv4", "none", ARM::AEK_NONE, "4"),
ARMCPUTestParams("strongarm", "armv4", "none", ARM::AEK_NONE, "4"),
@@ -388,7 +384,7 @@
ARM::AEK_HWDIVARM | ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP,
"7-S")));
-static constexpr unsigned NumARMCPUArchs = 90;
+static constexpr unsigned NumARMCPUArchs = 86;
TEST(TargetParserTest, testARMCPUArchList) {
SmallVector<StringRef, NumARMCPUArchs> List;
@@ -420,16 +416,16 @@
TEST(TargetParserTest, testARMArch) {
EXPECT_TRUE(
- testARMArch("armv2", "arm2", "v2",
+ testARMArch("armv2", "generic", "v2",
ARMBuildAttrs::CPUArch::Pre_v4));
EXPECT_TRUE(
- testARMArch("armv2a", "arm3", "v2a",
+ testARMArch("armv2a", "generic", "v2a",
ARMBuildAttrs::CPUArch::Pre_v4));
EXPECT_TRUE(
- testARMArch("armv3", "arm6", "v3",
+ testARMArch("armv3", "generic", "v3",
ARMBuildAttrs::CPUArch::Pre_v4));
EXPECT_TRUE(
- testARMArch("armv3m", "arm7m", "v3m",
+ testARMArch("armv3m", "generic", "v3m",
ARMBuildAttrs::CPUArch::Pre_v4));
EXPECT_TRUE(
testARMArch("armv4", "strongarm", "v4",
@@ -535,10 +531,6 @@
}
TEST(TargetParserTest, testARMExtension) {
- EXPECT_FALSE(testARMExtension("arm2", ARM::ArchKind::INVALID, "thumb"));
- EXPECT_FALSE(testARMExtension("arm3", ARM::ArchKind::INVALID, "thumb"));
- EXPECT_FALSE(testARMExtension("arm6", ARM::ArchKind::INVALID, "thumb"));
- EXPECT_FALSE(testARMExtension("arm7m", ARM::ArchKind::INVALID, "thumb"));
EXPECT_FALSE(testARMExtension("strongarm", ARM::ArchKind::INVALID, "dsp"));
EXPECT_FALSE(testARMExtension("arm7tdmi", ARM::ArchKind::INVALID, "dsp"));
EXPECT_FALSE(testARMExtension("arm10tdmi",
Index: llvm/include/llvm/Support/ARMTargetParser.def
===================================================================
--- llvm/include/llvm/Support/ARMTargetParser.def
+++ llvm/include/llvm/Support/ARMTargetParser.def
@@ -201,10 +201,6 @@
#ifndef ARM_CPU_NAME
#define ARM_CPU_NAME(NAME, ID, DEFAULT_FPU, IS_DEFAULT, DEFAULT_EXT)
#endif
-ARM_CPU_NAME("arm2", ARMV2, FK_NONE, true, ARM::AEK_NONE)
-ARM_CPU_NAME("arm3", ARMV2A, FK_NONE, true, ARM::AEK_NONE)
-ARM_CPU_NAME("arm6", ARMV3, FK_NONE, true, ARM::AEK_NONE)
-ARM_CPU_NAME("arm7m", ARMV3M, FK_NONE, true, ARM::AEK_NONE)
ARM_CPU_NAME("arm8", ARMV4, FK_NONE, false, ARM::AEK_NONE)
ARM_CPU_NAME("arm810", ARMV4, FK_NONE, false, ARM::AEK_NONE)
ARM_CPU_NAME("strongarm", ARMV4, FK_NONE, true, ARM::AEK_NONE)
Index: clang/test/Misc/target-invalid-cpu-note.c
===================================================================
--- clang/test/Misc/target-invalid-cpu-note.c
+++ clang/test/Misc/target-invalid-cpu-note.c
@@ -1,7 +1,7 @@
// RUN: not %clang_cc1 -triple armv5--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix ARM
// ARM: error: unknown target CPU 'not-a-cpu'
// ARM: note: valid target CPU values are:
-// ARM-SAME: arm2
+// ARM-SAME: arm8
// RUN: not %clang_cc1 -triple arm64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix AARCH64
// AARCH64: error: unknown target CPU 'not-a-cpu'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103028.349221.patch
Type: text/x-patch
Size: 4026 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210602/53576be6/attachment.bin>
More information about the cfe-commits
mailing list