brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · dc8b4e5 Raw
41 lines · plain
1// RUN: not llvm-tblgen -gen-instr-info -I %p/../../include %s 2>&1 | FileCheck %s2 3// This test verifies that TableGen is displaying an error when mapped instruction4// does not contain a field listed under RowFields.5 6include "llvm/Target/Target.td"7 8class SimpleReg<string n> : Register<n> {9  let Namespace = "Simple";10}11def R0 : SimpleReg<"r0">;12def SimpleRegClass : RegisterClass<"Simple",[i32],0,(add R0)>;13def SimpleInstrInfo : InstrInfo;14 15def SimpleTarget : Target {16  let InstructionSet = SimpleInstrInfo;17}18 19class SimpleRel;20 21def REL_DEF : InstrMapping {22  let FilterClass = "SimpleRel";23  let RowFields = ["BaseName"];24  let ColFields = ["Col"];25  let KeyCol = ["KeyCol"];26  let ValueCols = [["ValCol"]];27}28 29class INSTR_DEF : Instruction {30  let Namespace = "Simple";31  let OutOperandList = (outs);32  let InOperandList = (ins);33  string Basename = "";34  string Col = "";35}36 37def SimpleInstr : SimpleRel, INSTR_DEF;38 39// CHECK: error: No value "BaseName" found in "SimpleInstr" instruction description.40// CHECK: def SimpleInstr : SimpleRel, INSTR_DEF;41