// RUN: not llvm-tblgen -gen-instr-info -I %p/../../include %s 2>&1 | FileCheck %s // This test verifies that TableGen is displaying an error when mapped instruction // does not contain a field listed under RowFields. include "llvm/Target/Target.td" class SimpleReg : Register { let Namespace = "Simple"; } def R0 : SimpleReg<"r0">; def SimpleRegClass : RegisterClass<"Simple",[i32],0,(add R0)>; def SimpleInstrInfo : InstrInfo; def SimpleTarget : Target { let InstructionSet = SimpleInstrInfo; } class SimpleRel; def REL_DEF : InstrMapping { let FilterClass = "SimpleRel"; let RowFields = ["BaseName"]; let ColFields = ["Col"]; let KeyCol = ["KeyCol"]; let ValueCols = [["ValCol"]]; } class INSTR_DEF : Instruction { let Namespace = "Simple"; let OutOperandList = (outs); let InOperandList = (ins); string Basename = ""; string Col = ""; } def SimpleInstr : SimpleRel, INSTR_DEF; // CHECK: error: No value "BaseName" found in "SimpleInstr" instruction description. // CHECK: def SimpleInstr : SimpleRel, INSTR_DEF;