HomePhabricator

TableGen: Check scheduling models for completeness

Authored by MatzeB on Mar 1 2016, 12:03 PM.

Description

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

Details

Committed
MatzeBMar 1 2016, 12:03 PM
Differential Revision
D17747: TableGen: Check scheduling models for completeness
Parents
rG8e0a734fc5ee: TableGen: Add hasNoSchedulingInfo to instructions
Branches
Unknown
Tags
Unknown