summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-10-22 23:14:55 +0000
committerCraig Topper <craig.topper@intel.com>2018-10-22 23:14:55 +0000
commit96889b8b96e8710a1c526f870bd2fa448702633d (patch)
tree0a92e13cf4ed0e4b7b77b3a95c030e5ef2cee6b1
parent0acfc6be384ad769dd3a72d771aa44e5ba6749ad (diff)
downloadbcm5719-llvm-96889b8b96e8710a1c526f870bd2fa448702633d.tar.gz
bcm5719-llvm-96889b8b96e8710a1c526f870bd2fa448702633d.zip
[X86] Remove unused entries from the X86ProcFamily enum. Add a note to discourage creation of new enum entries.
As we've learned multiple times, a coarse grained enum like this is not scalable and we should be migrating away from it. llvm-svn: 344972
-rw-r--r--llvm/lib/Target/X86/X86.td21
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.h9
2 files changed, 2 insertions, 28 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index d1263a1fb45..6bf6aae95c0 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -460,22 +460,8 @@ def ProcIntelGLP : SubtargetFeature<"glp", "X86ProcFamily", "IntelGLP",
"Intel Goldmont Plus processors">;
def ProcIntelTRM : SubtargetFeature<"tremont", "X86ProcFamily", "IntelTRM",
"Intel Tremont processors">;
-def ProcIntelHSW : SubtargetFeature<"haswell", "X86ProcFamily",
- "IntelHaswell", "Intel Haswell processors">;
-def ProcIntelBDW : SubtargetFeature<"broadwell", "X86ProcFamily",
- "IntelBroadwell", "Intel Broadwell processors">;
-def ProcIntelSKL : SubtargetFeature<"skylake", "X86ProcFamily",
- "IntelSkylake", "Intel Skylake processors">;
def ProcIntelKNL : SubtargetFeature<"knl", "X86ProcFamily",
"IntelKNL", "Intel Knights Landing processors">;
-def ProcIntelSKX : SubtargetFeature<"skx", "X86ProcFamily",
- "IntelSKX", "Intel Skylake Server processors">;
-def ProcIntelCNL : SubtargetFeature<"cannonlake", "X86ProcFamily",
- "IntelCannonlake", "Intel Cannonlake processors">;
-def ProcIntelICL : SubtargetFeature<"icelake-client", "X86ProcFamily",
- "IntelIcelakeClient", "Intel Icelake processors">;
-def ProcIntelICX : SubtargetFeature<"icelake-server", "X86ProcFamily",
- "IntelIcelakeServer", "Intel Icelake Server processors">;
class Proc<string Name, list<SubtargetFeature> Features>
: ProcessorModel<Name, GenericModel, Features>;
@@ -787,7 +773,6 @@ def HSWFeatures : ProcessorFeatures<IVBFeatures.Value, [
class HaswellProc<string Name> : ProcModel<Name, HaswellModel,
HSWFeatures.Value, [
- ProcIntelHSW,
FeaturePOPCNTFalseDeps,
FeatureLZCNTFalseDeps
]>;
@@ -801,7 +786,6 @@ def BDWFeatures : ProcessorFeatures<HSWFeatures.Value, [
]>;
class BroadwellProc<string Name> : ProcModel<Name, BroadwellModel,
BDWFeatures.Value, [
- ProcIntelBDW,
FeaturePOPCNTFalseDeps,
FeatureLZCNTFalseDeps
]>;
@@ -818,7 +802,6 @@ def SKLFeatures : ProcessorFeatures<BDWFeatures.Value, [
class SkylakeClientProc<string Name> : ProcModel<Name, SkylakeClientModel,
SKLFeatures.Value, [
- ProcIntelSKL,
FeatureHasFastGather,
FeaturePOPCNTFalseDeps,
FeatureSGX
@@ -873,7 +856,6 @@ def SKXFeatures : ProcessorFeatures<SKLFeatures.Value, [
class SkylakeServerProc<string Name> : ProcModel<Name, SkylakeServerModel,
SKXFeatures.Value, [
- ProcIntelSKX,
FeatureHasFastGather,
FeaturePOPCNTFalseDeps
]>;
@@ -895,7 +877,6 @@ def CNLFeatures : ProcessorFeatures<SKLFeatures.Value, [
class CannonlakeProc<string Name> : ProcModel<Name, SkylakeServerModel,
CNLFeatures.Value, [
- ProcIntelCNL,
FeatureHasFastGather
]>;
def : CannonlakeProc<"cannonlake">;
@@ -914,14 +895,12 @@ def ICLFeatures : ProcessorFeatures<CNLFeatures.Value, [
class IcelakeClientProc<string Name> : ProcModel<Name, SkylakeServerModel,
ICLFeatures.Value, [
- ProcIntelICL,
FeatureHasFastGather
]>;
def : IcelakeClientProc<"icelake-client">;
class IcelakeServerProc<string Name> : ProcModel<Name, SkylakeServerModel,
ICLFeatures.Value, [
- ProcIntelICX,
FeaturePCONFIG,
FeatureWBNOINVD,
FeatureHasFastGather
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h
index 0df3058c374..47b51376e5e 100644
--- a/llvm/lib/Target/X86/X86Subtarget.h
+++ b/llvm/lib/Target/X86/X86Subtarget.h
@@ -52,6 +52,8 @@ enum Style {
class X86Subtarget final : public X86GenSubtargetInfo {
public:
+ // NOTE: Do not add anything new to this list. Coarse, CPU name based flags
+ // are not a good idea. We should be migrating away from these.
enum X86ProcFamilyEnum {
Others,
IntelAtom,
@@ -59,14 +61,7 @@ public:
IntelGLM,
IntelGLP,
IntelTRM,
- IntelHaswell,
- IntelBroadwell,
- IntelSkylake,
IntelKNL,
- IntelSKX,
- IntelCannonlake,
- IntelIcelakeClient,
- IntelIcelakeServer,
};
protected:
OpenPOWER on IntegriCloud