brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 9c839ee Raw
56 lines · plain
1// RUN: llvm-tblgen -I %p/../../../../include -gen-global-isel-combiner \2// RUN:     -gicombiner-stop-after-parse -combiners=MyCombiner %s | \3// RUN: FileCheck %s4 5include "llvm/Target/Target.td"6include "llvm/Target/GlobalISel/Combine.td"7 8def MyTargetISA : InstrInfo;9def MyTarget : Target { let InstructionSet = MyTargetISA; }10 11// CHECK:      (CombineRule name:BuiltinTest0 id:0 root:a12// CHECK-NEXT:   (MatchPats13// CHECK-NEXT:     <match_root>__BuiltinTest0_match_0:(CodeGenInstructionPattern G_TRUNC operands:[<def>$a, $b])14// CHECK-NEXT:   )15// CHECK-NEXT:   (ApplyPats16// CHECK-NEXT:     <apply_root>__BuiltinTest0_apply_0:(BuiltinPattern GIReplaceReg operands:[<def>$a, $b])17// CHECK-NEXT:   )18// CHECK-NEXT:   (OperandTable MatchPats19// CHECK-NEXT:     a -> __BuiltinTest0_match_020// CHECK-NEXT:     b -> <live-in>21// CHECK-NEXT:   )22// CHECK-NEXT:   (OperandTable ApplyPats23// CHECK-NEXT:     a -> __BuiltinTest0_apply_024// CHECK-NEXT:     b -> <live-in>25// CHECK-NEXT:   )26// CHECK-NEXT: )27def BuiltinTest0 : GICombineRule<28  (defs root:$a),29  (match (G_TRUNC $a, $b)),30  (apply (GIReplaceReg $a, $b))31>;32 33// CHECK:      (CombineRule name:BuiltinTest1 id:1 root:mi34// CHECK-NEXT:   (MatchPats35// CHECK-NEXT:     <match_root>mi:(CodeGenInstructionPattern G_STORE operands:[$a, $b])36// CHECK-NEXT:   )37// CHECK-NEXT:   (ApplyPats38// CHECK-NEXT:     __BuiltinTest1_apply_0:(BuiltinPattern GIEraseRoot operands:[])39// CHECK-NEXT:   )40// CHECK-NEXT:   (OperandTable MatchPats41// CHECK-NEXT:     a -> <live-in>42// CHECK-NEXT:     b -> <live-in>43// CHECK-NEXT:   )44// CHECK-NEXT:   (OperandTable ApplyPats <empty>)45// CHECK-NEXT: )46def BuiltinTest1 : GICombineRule<47  (defs root:$mi),48  (match (G_STORE $a, $b):$mi),49  (apply (GIEraseRoot))50>;51 52def MyCombiner: GICombiner<"GenMyCombiner", [53  BuiltinTest0,54  BuiltinTest155]>;56