brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 2862af0 Raw
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