@@ -34,9 +34,13 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
34
34
35
35
// CHECK: const int64_t *GenMyCombiner::getMatchTable() const {
36
36
// CHECK-NEXT: constexpr static int64_t MatchTable0[] = {
37
- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 0*/ 28, // Rule ID 0 //
37
+ // CHECK-NEXT: GIM_SwitchOpcode, /*MI*/0, /*[*/19, 126, /*)*//*default:*//*Label 3*/ 202,
38
+ // CHECK-NEXT: /*TargetOpcode::COPY*//*Label 0*/ 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
39
+ // CHECK-NEXT: /*TargetOpcode::G_CONSTANT*//*Label 1*/ 138, 0, 0, 0, 0, 0,
40
+ // CHECK-NEXT: /*TargetOpcode::G_ZEXT*//*Label 2*/ 165,
41
+ // CHECK-NEXT: // Label 0: @112
42
+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 4*/ 137, // Rule ID 0 //
38
43
// CHECK-NEXT: GIM_CheckSimplePredicate, GICXXPred_Simple_IsRule0Enabled,
39
- // CHECK-NEXT: GIM_CheckOpcode, /*MI*/0, TargetOpcode::COPY,
40
44
// CHECK-NEXT: GIM_CheckType, /*MI*/0, /*Op*/1, /*Type*/GILLT_s32,
41
45
// CHECK-NEXT: // MIs[0] a
42
46
// CHECK-NEXT: // No operand predicates
@@ -47,10 +51,26 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
47
51
// CHECK-NEXT: GIR_AddImm, /*InsnID*/0, /*Imm*/0,
48
52
// CHECK-NEXT: GIR_EraseFromParent, /*InsnID*/0,
49
53
// CHECK-NEXT: GIR_Done,
50
- // CHECK-NEXT: // Label 0: @28
51
- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 1*/ 67, // Rule ID 1 //
54
+ // CHECK-NEXT: // Label 4: @137
55
+ // CHECK-NEXT: GIM_Reject,
56
+ // CHECK-NEXT: // Label 1: @138
57
+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 5*/ 164, // Rule ID 2 //
58
+ // CHECK-NEXT: GIM_CheckSimplePredicate, GICXXPred_Simple_IsRule2Enabled,
59
+ // CHECK-NEXT: GIM_CheckType, /*MI*/0, /*Op*/1, /*Type*/GILLT_s32,
60
+ // CHECK-NEXT: // MIs[0] a
61
+ // CHECK-NEXT: // No operand predicates
62
+ // CHECK-NEXT: GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, 0,
63
+ // CHECK-NEXT: // Combiner Rule #2: CImmInstTest1
64
+ // CHECK-NEXT: GIR_BuildMI, /*InsnID*/0, /*Opcode*/TargetOpcode::G_CONSTANT,
65
+ // CHECK-NEXT: GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/0, // a
66
+ // CHECK-NEXT: GIR_AddCImm, /*InsnID*/0, /*Type*/GILLT_s32, /*Imm*/42,
67
+ // CHECK-NEXT: GIR_EraseFromParent, /*InsnID*/0,
68
+ // CHECK-NEXT: GIR_Done,
69
+ // CHECK-NEXT: // Label 5: @164
70
+ // CHECK-NEXT: GIM_Reject,
71
+ // CHECK-NEXT: // Label 2: @165
72
+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 6*/ 201, // Rule ID 1 //
52
73
// CHECK-NEXT: GIM_CheckSimplePredicate, GICXXPred_Simple_IsRule1Enabled,
53
- // CHECK-NEXT: GIM_CheckOpcode, /*MI*/0, TargetOpcode::G_ZEXT,
54
74
// CHECK-NEXT: // MIs[0] a
55
75
// CHECK-NEXT: // No operand predicates
56
76
// CHECK-NEXT: // MIs[0] Operand 1
@@ -65,21 +85,9 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
65
85
// CHECK-NEXT: GIR_AddTempRegister, /*InsnID*/0, /*TempRegID*/0, /*TempRegFlags*/0,
66
86
// CHECK-NEXT: GIR_EraseFromParent, /*InsnID*/0,
67
87
// CHECK-NEXT: GIR_Done,
68
- // CHECK-NEXT: // Label 1: @67
69
- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 2*/ 96, // Rule ID 2 //
70
- // CHECK-NEXT: GIM_CheckSimplePredicate, GICXXPred_Simple_IsRule2Enabled,
71
- // CHECK-NEXT: GIM_CheckOpcode, /*MI*/0, TargetOpcode::G_CONSTANT,
72
- // CHECK-NEXT: GIM_CheckType, /*MI*/0, /*Op*/1, /*Type*/GILLT_s32,
73
- // CHECK-NEXT: // MIs[0] a
74
- // CHECK-NEXT: // No operand predicates
75
- // CHECK-NEXT: GIM_CheckLiteralInt, /*MI*/0, /*Op*/1, 0,
76
- // CHECK-NEXT: // Combiner Rule #2: CImmInstTest1
77
- // CHECK-NEXT: GIR_BuildMI, /*InsnID*/0, /*Opcode*/TargetOpcode::G_CONSTANT,
78
- // CHECK-NEXT: GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/0, /*OpIdx*/0, // a
79
- // CHECK-NEXT: GIR_AddCImm, /*InsnID*/0, /*Type*/GILLT_s32, /*Imm*/42,
80
- // CHECK-NEXT: GIR_EraseFromParent, /*InsnID*/0,
81
- // CHECK-NEXT: GIR_Done,
82
- // CHECK-NEXT: // Label 2: @96
88
+ // CHECK-NEXT: // Label 6: @201
89
+ // CHECK-NEXT: GIM_Reject,
90
+ // CHECK-NEXT: // Label 3: @202
83
91
// CHECK-NEXT: GIM_Reject,
84
92
// CHECK-NEXT: };
85
93
// CHECK-NEXT: return MatchTable0;
0 commit comments