[llvm] r342583 - [ARM] Refactor Exynos feature set (NFC)
Evandro Menezes via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 19 12:43:23 PDT 2018
Author: evandro
Date: Wed Sep 19 12:43:23 2018
New Revision: 342583
URL: http://llvm.org/viewvc/llvm-project?rev=342583&view=rev
Log:
[ARM] Refactor Exynos feature set (NFC)
Since all Exynos processors share the same feature set, fold them in the
implied fatures list for the subtarget.
Modified:
llvm/trunk/lib/Target/ARM/ARM.td
llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
llvm/trunk/lib/Target/ARM/ARMSubtarget.h
Modified: llvm/trunk/lib/Target/ARM/ARM.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARM.td?rev=342583&r1=342582&r2=342583&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARM.td (original)
+++ llvm/trunk/lib/Target/ARM/ARM.td Wed Sep 19 12:43:23 2018
@@ -494,8 +494,23 @@ def ProcKryo : SubtargetFeature<"kryo
def ProcSwift : SubtargetFeature<"swift", "ARMProcFamily", "Swift",
"Swift ARM processors", []>;
-def ProcExynosM1 : SubtargetFeature<"exynosm1", "ARMProcFamily", "ExynosM1",
- "Samsung Exynos-Mx processors", []>;
+def ProcExynos : SubtargetFeature<"exynos", "ARMProcFamily", "Exynos",
+ "Samsung Exynos processors",
+ [FeatureZCZeroing,
+ FeatureUseWideStrideVFP,
+ FeatureUseAA,
+ FeatureSplatVFPToNeon,
+ FeatureSlowVGETLNi32,
+ FeatureSlowVDUP32,
+ FeatureSlowFPBrcc,
+ FeatureProfUnpredicate,
+ FeatureHWDivThumb,
+ FeatureHWDivARM,
+ FeatureHasSlowFPVMLx,
+ FeatureHasRetAddrStack,
+ FeatureExpandMLx,
+ FeatureCrypto,
+ FeatureCRC]>;
def ProcR4 : SubtargetFeature<"r4", "ARMProcFamily", "CortexR4",
"Cortex-R4 ARM processors", []>;
@@ -1033,73 +1048,10 @@ def : ProcessorModel<"cyclone", Swif
FeatureZCZeroing,
FeatureNoPostRASched]>;
-def : ProcNoItin<"exynos-m1", [ARMv8a, ProcExynosM1,
- FeatureZCZeroing,
- FeatureUseWideStrideVFP,
- FeatureUseAA,
- FeatureSplatVFPToNeon,
- FeatureSlowVGETLNi32,
- FeatureSlowVDUP32,
- FeatureSlowFPBrcc,
- FeatureProfUnpredicate,
- FeatureHWDivThumb,
- FeatureHWDivARM,
- FeatureHasSlowFPVMLx,
- FeatureHasRetAddrStack,
- FeatureExpandMLx,
- FeatureCrypto,
- FeatureCRC]>;
-
-def : ProcNoItin<"exynos-m2", [ARMv8a, ProcExynosM1,
- FeatureZCZeroing,
- FeatureUseWideStrideVFP,
- FeatureUseAA,
- FeatureSplatVFPToNeon,
- FeatureSlowVGETLNi32,
- FeatureSlowVDUP32,
- FeatureSlowFPBrcc,
- FeatureProfUnpredicate,
- FeatureHWDivThumb,
- FeatureHWDivARM,
- FeatureHasSlowFPVMLx,
- FeatureHasRetAddrStack,
- FeatureExpandMLx,
- FeatureCrypto,
- FeatureCRC]>;
-
-def : ProcNoItin<"exynos-m3", [ARMv8a, ProcExynosM1,
- FeatureZCZeroing,
- FeatureUseWideStrideVFP,
- FeatureUseAA,
- FeatureSplatVFPToNeon,
- FeatureSlowVGETLNi32,
- FeatureSlowVDUP32,
- FeatureSlowFPBrcc,
- FeatureProfUnpredicate,
- FeatureHWDivThumb,
- FeatureHWDivARM,
- FeatureHasSlowFPVMLx,
- FeatureHasRetAddrStack,
- FeatureExpandMLx,
- FeatureCrypto,
- FeatureCRC]>;
-
-def : ProcNoItin<"exynos-m4", [ARMv8a, ProcExynosM1,
- FeatureZCZeroing,
- FeatureUseWideStrideVFP,
- FeatureUseAA,
- FeatureSplatVFPToNeon,
- FeatureSlowVGETLNi32,
- FeatureSlowVDUP32,
- FeatureSlowFPBrcc,
- FeatureProfUnpredicate,
- FeatureHWDivThumb,
- FeatureHWDivARM,
- FeatureHasSlowFPVMLx,
- FeatureHasRetAddrStack,
- FeatureExpandMLx,
- FeatureCrypto,
- FeatureCRC]>;
+def : ProcNoItin<"exynos-m1", [ARMv8a, ProcExynos]>;
+def : ProcNoItin<"exynos-m2", [ARMv8a, ProcExynos]>;
+def : ProcNoItin<"exynos-m3", [ARMv8a, ProcExynos]>;
+def : ProcNoItin<"exynos-m4", [ARMv8a, ProcExynos]>;
def : ProcNoItin<"kryo", [ARMv8a, ProcKryo,
FeatureHWDivThumb,
Modified: llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp?rev=342583&r1=342582&r2=342583&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp Wed Sep 19 12:43:23 2018
@@ -287,7 +287,7 @@ void ARMSubtarget::initSubtargetFeatures
case CortexR7:
case CortexM3:
case CortexR52:
- case ExynosM1:
+ case Exynos:
case Kryo:
break;
case Krait:
Modified: llvm/trunk/lib/Target/ARM/ARMSubtarget.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMSubtarget.h?rev=342583&r1=342582&r2=342583&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMSubtarget.h (original)
+++ llvm/trunk/lib/Target/ARM/ARMSubtarget.h Wed Sep 19 12:43:23 2018
@@ -68,7 +68,7 @@ protected:
CortexR5,
CortexR52,
CortexR7,
- ExynosM1,
+ Exynos,
Krait,
Kryo,
Swift
More information about the llvm-commits
mailing list