// RUN: not llvm-tblgen -gen-subtarget -I %p/../../include %s 2>&1 | FileCheck %s
// Make sure we don't form ReadAdvances with ValidWrites entries that are not
// associated with any instructions.
include "llvm/Target/Target.td"
def TargetX : Target;
def WriteX : SchedWrite;
def WriteY : SchedWrite;
def ReadX : SchedRead;
def InstX : Instruction {
let OutOperandList = (outs);
let InOperandList = (ins);
let SchedRW = [WriteX, ReadX];
}
def SchedModelX: SchedMachineModel {
let CompleteModel = 0;
}
let SchedModel = SchedModelX in {
def : ReadAdvance<ReadX, 1, [WriteX, WriteY]>;
// CHECK: error: ReadAdvance referencing a ValidWrite that is not used by any instruction (WriteY)
}
def ProcessorX: ProcessorModel<"ProcessorX", SchedModelX, []>;