[X86] Add skeleton support for icelake CPU.
There are several patches out for review right now to implement Icelake features. This adds a CPU to collect them under.
llvm-svn: 318612
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 34f2956..573d441 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -317,6 +317,8 @@
"IntelSKX", "Intel Skylake Server processors">;
def ProcIntelCNL : SubtargetFeature<"cannonlake", "X86ProcFamily",
"IntelCannonlake", "Intel Cannonlake processors">;
+def ProcIntelICL : SubtargetFeature<"icelake", "X86ProcFamily",
+ "IntelIcelake", "Intel Icelake processors">;
class Proc<string Name, list<SubtargetFeature> Features>
: ProcessorModel<Name, GenericModel, Features>;
@@ -662,6 +664,16 @@
]>;
def : CannonlakeProc<"cannonlake">;
+def ICLFeatures : ProcessorFeatures<CNLFeatures.Value, [
+ // TODO: Insert features here.
+]>;
+
+class IcelakeProc<string Name> : ProcModel<Name, SkylakeServerModel,
+ ICLFeatures.Value, [
+ ProcIntelICL
+]>;
+def : IcelakeProc<"icelake">;
+
// AMD CPUs.
def : Proc<"k6", [FeatureX87, FeatureSlowUAMem16, FeatureMMX]>;
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h
index bd164e7..56587bc 100644
--- a/llvm/lib/Target/X86/X86Subtarget.h
+++ b/llvm/lib/Target/X86/X86Subtarget.h
@@ -70,7 +70,8 @@
IntelSkylake,
IntelKNL,
IntelSKX,
- IntelCannonlake
+ IntelCannonlake,
+ IntelIcelake,
};
/// X86 processor family: Intel Atom, and others