diff options
Diffstat (limited to 'llvm/lib')
-rwxr-xr-x | llvm/lib/Target/X86/X86SchedBroadwell.td | 4 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86ScheduleBtVer2.td | 4 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86ScheduleSLM.td | 4 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86ScheduleZnver1.td | 6 |
4 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td index 6e5f6f39525..75d46d6ff31 100755 --- a/llvm/lib/Target/X86/X86SchedBroadwell.td +++ b/llvm/lib/Target/X86/X86SchedBroadwell.td @@ -21,6 +21,10 @@ def BroadwellModel : SchedMachineModel { // Based on the LSD (loop-stream detector) queue size and benchmarking data. let LoopMicroOpBufferSize = 50; + + // This flag is set to allow the scheduler to assign a default model to + // unrecognized opcodes. + let CompleteModel = 0; } let SchedModel = BroadwellModel in { diff --git a/llvm/lib/Target/X86/X86ScheduleBtVer2.td b/llvm/lib/Target/X86/X86ScheduleBtVer2.td index d7474a28896..6ea81a25e41 100644 --- a/llvm/lib/Target/X86/X86ScheduleBtVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBtVer2.td @@ -22,6 +22,10 @@ def BtVer2Model : SchedMachineModel { let HighLatency = 25; let MispredictPenalty = 14; // Minimum branch misdirection penalty let PostRAScheduler = 1; + + // FIXME: SSE4/AVX is unimplemented. This flag is set to allow + // the scheduler to assign a default model to unrecognized opcodes. + let CompleteModel = 0; } let SchedModel = BtVer2Model in { diff --git a/llvm/lib/Target/X86/X86ScheduleSLM.td b/llvm/lib/Target/X86/X86ScheduleSLM.td index fb0999b59ca..35ec7488db7 100644 --- a/llvm/lib/Target/X86/X86ScheduleSLM.td +++ b/llvm/lib/Target/X86/X86ScheduleSLM.td @@ -23,6 +23,10 @@ def SLMModel : SchedMachineModel { // For small loops, expand by a small factor to hide the backedge cost. let LoopMicroOpBufferSize = 10; + + // FIXME: SSE4 is unimplemented. This flag is set to allow + // the scheduler to assign a default model to unrecognized opcodes. + let CompleteModel = 0; } let SchedModel = SLMModel in { diff --git a/llvm/lib/Target/X86/X86ScheduleZnver1.td b/llvm/lib/Target/X86/X86ScheduleZnver1.td index 80d3bdb90df..a4e5327213c 100644 --- a/llvm/lib/Target/X86/X86ScheduleZnver1.td +++ b/llvm/lib/Target/X86/X86ScheduleZnver1.td @@ -21,6 +21,12 @@ def Znver1Model : SchedMachineModel { let MispredictPenalty = 17; let HighLatency = 25; let PostRAScheduler = 1; + + // FIXME: This variable is required for incomplete model. + // We haven't catered all instructions. + // So, we reset the value of this variable so as to + // say that the model is incomplete. + let CompleteModel = 0; } let SchedModel = Znver1Model in { |