33 lines · plain
1// RUN: llvm-tblgen -gen-dag-isel -instrument-coverage -I %p/../../include %s | FileCheck %s2 3include "llvm/Target/Target.td"4 5def TestTargetInstrInfo : InstrInfo;6 7def TestTarget : Target {8 let InstructionSet = TestTargetInstrInfo;9}10 11def REG : Register<"REG">;12def GPR : RegisterClass<"TestTarget", [i32], 32, (add REG)>;13 14// CHECK-LABEL: OPC_CheckOpcode, TARGET_VAL(ISD::UDIVREM)15// CHECK: OPC_EmitNode2None, TARGET_VAL(::INSTR)16// CHECK-NEXT: Results = #2 #317// CHECK-NEXT: OPC_Coverage, COVERAGE_IDX_VAL(0),18// CHECK-NEXT: OPC_CompleteMatch, 2, 3, 219def INSTR : Instruction {20 let OutOperandList = (outs GPR:$r1, GPR:$r0);21 let InOperandList = (ins GPR:$t0, GPR:$t1);22 let Pattern = [(set i32:$r0, i32:$r1, (udivrem i32:$t0, i32:$t1))];23}24 25 26// CHECK: getPatternForIndex(unsigned Index)27// CHECK: static const char *PATTERN_MATCH_TABLE[]28// CHECK: return StringRef(PATTERN_MATCH_TABLE[Index]);29 30// CHECK: getIncludePathForIndex(unsigned Index)31// CHECK: static const char *INCLUDE_PATH_TABLE[]32// CHECK: return StringRef(INCLUDE_PATH_TABLE[Index]);33