diff options
| author | Matthias Braun <matze@braunis.de> | 2016-03-01 20:03:21 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2016-03-01 20:03:21 +0000 |
| commit | 17cb57995eb9535c30cdff864b6157a34d1f5143 (patch) | |
| tree | b3f0a74bf54273a3ceba97c71bec0daaa24cdd5f /llvm/lib/Target/AMDGPU/SISchedule.td | |
| parent | 8e0a734fc5ee45e2dc8926c58b6ed68fd57500ea (diff) | |
| download | bcm5719-llvm-17cb57995eb9535c30cdff864b6157a34d1f5143.tar.gz bcm5719-llvm-17cb57995eb9535c30cdff864b6157a34d1f5143.zip | |
TableGen: Check scheduling models for completeness
TableGen checks at compiletime that for scheduling models with
"CompleteModel = 1" one of the following holds:
- Is marked with the hasNoSchedulingInfo flag
- The instruction is a subclass of Sched
- There are InstRW definitions in the scheduling model
Typical steps necessary to complete a model:
- Ensure all pseudo instructions that are expanded before machine
scheduling (usually everything handled with EmitYYY() functions in
XXXTargetLowering).
- If a CPU does not support some instructions mark the corresponding
resource unsupported: "WriteRes<WriteXXX, []> { let Unsupported = 1; }".
- Add missing scheduling information.
Differential Revision: http://reviews.llvm.org/D17747
llvm-svn: 262384
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SISchedule.td')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SISchedule.td | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/AMDGPU/SISchedule.td b/llvm/lib/Target/AMDGPU/SISchedule.td index cd77e519abb..40b37c4593b 100644 --- a/llvm/lib/Target/AMDGPU/SISchedule.td +++ b/llvm/lib/Target/AMDGPU/SISchedule.td @@ -39,8 +39,12 @@ def Write64Bit : SchedWrite; // instructions and have VALU rates, but write to the SALU (i.e. VOPC // instructions) -def SIFullSpeedModel : SchedMachineModel; -def SIQuarterSpeedModel : SchedMachineModel; +def SIFullSpeedModel : SchedMachineModel { + let CompleteModel = 0; +} +def SIQuarterSpeedModel : SchedMachineModel { + let CompleteModel = 0; +} // BufferSize = 0 means the processors are in-order. let BufferSize = 0 in { |

