From: Craig Topper Date: Sun, 10 Dec 2017 17:42:36 +0000 (+0000) Subject: [X86] Adjust tablegen includes so we can use Instructions in scheduler models instead... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64b3a01ea3da023328aeb60cb62073ad412ab4bb;p=llvm [X86] Adjust tablegen includes so we can use Instructions in scheduler models instead of just instregexs. This separates the CPU specific scheduler model includes to occur after the instructions. Moves the instruction includes between the basic scheduler information and the CPU specific scheduler models. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320313 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td index f1e57091b0d..08731cd0204 100644 --- a/lib/Target/X86/X86.td +++ b/lib/Target/X86/X86.td @@ -324,10 +324,34 @@ def FeatureHasFastGather "Indicates if gather is reasonably fast.">; //===----------------------------------------------------------------------===// -// X86 processors supported. +// Register File Description +//===----------------------------------------------------------------------===// + +include "X86RegisterInfo.td" +include "X86RegisterBanks.td" + +//===----------------------------------------------------------------------===// +// Instruction Descriptions //===----------------------------------------------------------------------===// include "X86Schedule.td" +include "X86InstrInfo.td" + +def X86InstrInfo : InstrInfo; + +//===----------------------------------------------------------------------===// +// X86 processors supported. +//===----------------------------------------------------------------------===// + +include "X86ScheduleAtom.td" +include "X86SchedSandyBridge.td" +include "X86SchedHaswell.td" +include "X86SchedBroadwell.td" +include "X86ScheduleSLM.td" +include "X86ScheduleZnver1.td" +include "X86ScheduleBtVer2.td" +include "X86SchedSkylakeClient.td" +include "X86SchedSkylakeServer.td" def ProcIntelAtom : SubtargetFeature<"atom", "X86ProcFamily", "IntelAtom", "Intel Atom processors">; @@ -954,21 +978,6 @@ def : ProcessorModel<"x86-64", SandyBridgeModel, [ FeatureMacroFusion ]>; -//===----------------------------------------------------------------------===// -// Register File Description -//===----------------------------------------------------------------------===// - -include "X86RegisterInfo.td" -include "X86RegisterBanks.td" - -//===----------------------------------------------------------------------===// -// Instruction Descriptions -//===----------------------------------------------------------------------===// - -include "X86InstrInfo.td" - -def X86InstrInfo : InstrInfo; - //===----------------------------------------------------------------------===// // Calling Conventions //===----------------------------------------------------------------------===// diff --git a/lib/Target/X86/X86Schedule.td b/lib/Target/X86/X86Schedule.td index 5709e1a0307..5833144013f 100644 --- a/lib/Target/X86/X86Schedule.td +++ b/lib/Target/X86/X86Schedule.td @@ -692,13 +692,3 @@ def GenericPostRAModel : GenericX86Model { let PostRAScheduler = 1; } -include "X86ScheduleAtom.td" -include "X86SchedSandyBridge.td" -include "X86SchedHaswell.td" -include "X86SchedBroadwell.td" -include "X86ScheduleSLM.td" -include "X86ScheduleZnver1.td" -include "X86ScheduleBtVer2.td" -include "X86SchedSkylakeClient.td" -include "X86SchedSkylakeServer.td" -