@@ -136,14 +136,18 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
136136// CHECK: const uint8_t *GenMyCombiner::getMatchTable() const {
137137// CHECK-NEXT: constexpr static uint8_t MatchTable0[] = {
138138// CHECK-NEXT: GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2([[#LOWER:]]), GIMT_Encode2([[#UPPER:]]), /*)*//*default:*//*Label 6*/ GIMT_Encode4([[#DEFAULT:]]),
139- // CHECK-NEXT: /*TargetOpcode::COPY*//*Label 0*/ GIMT_Encode4(482), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
140- // CHECK-NEXT: /*TargetOpcode::G_AND*//*Label 1*/ GIMT_Encode4(518), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
141- // CHECK-NEXT: /*TargetOpcode::G_STORE*//*Label 2*/ GIMT_Encode4(565), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
142- // CHECK-NEXT: /*TargetOpcode::G_TRUNC*//*Label 3*/ GIMT_Encode4(599), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
143- // CHECK-NEXT: /*TargetOpcode::G_SEXT*//*Label 4*/ GIMT_Encode4(622), GIMT_Encode4(0),
144- // CHECK-NEXT: /*TargetOpcode::G_ZEXT*//*Label 5*/ GIMT_Encode4(634),
139+ // CHECK-NEXT: /*TargetOpcode::COPY*//*Label 0*/ GIMT_Encode4([[#%u, mul(UPPER-LOWER, 4) + 10]]),
140+ // CHECK-COUNT-40: GIMT_Encode4(0),
141+ // CHECK-NEXT: /*TargetOpcode::G_AND*//*Label 1*/ GIMT_Encode4([[L1:[0-9]+]]),
142+ // CHECK-COUNT-34: GIMT_Encode4(0),
143+ // CHECK-NEXT: /*TargetOpcode::G_STORE*//*Label 2*/ GIMT_Encode4([[L2:[0-9]+]]),
144+ // CHECK-COUNT-30: GIMT_Encode4(0),
145+ // CHECK-NEXT: /*TargetOpcode::G_TRUNC*//*Label 3*/ GIMT_Encode4([[L3:[0-9]+]]),
146+ // CHECK-COUNT-4: GIMT_Encode4(0),
147+ // CHECK-NEXT: /*TargetOpcode::G_SEXT*//*Label 4*/ GIMT_Encode4([[L4:[0-9]+]]), GIMT_Encode4(0),
148+ // CHECK-NEXT: /*TargetOpcode::G_ZEXT*//*Label 5*/ GIMT_Encode4([[L5:[0-9]+]]),
145149// CHECK-NEXT: // Label 0: @[[#%u, mul(UPPER-LOWER, 4) + 10]]
146- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 7*/ GIMT_Encode4(506 ), // Rule ID 4 //
150+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 7*/ GIMT_Encode4([[L7:[0-9]+]] ), // Rule ID 4 //
147151// CHECK-NEXT: GIM_CheckFeatures, GIMT_Encode2(GIFBS_HasAnswerToEverything),
148152// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule3Enabled),
149153// CHECK-NEXT: // MIs[0] a
@@ -156,19 +160,19 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
156160// CHECK-NEXT: GIM_CheckIsSafeToFold, /*NumInsns*/1,
157161// CHECK-NEXT: // Combiner Rule #3: InstTest1
158162// CHECK-NEXT: GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner2),
159- // CHECK-NEXT: // Label 7: @506
160- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 8*/ GIMT_Encode4(517 ), // Rule ID 3 //
163+ // CHECK-NEXT: // Label 7: @[[L7]]
164+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 8*/ GIMT_Encode4([[L8:[0-9]+]] ), // Rule ID 3 //
161165// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule2Enabled),
162166// CHECK-NEXT: // MIs[0] a
163167// CHECK-NEXT: // No operand predicates
164168// CHECK-NEXT: // MIs[0] b
165169// CHECK-NEXT: // No operand predicates
166170// CHECK-NEXT: // Combiner Rule #2: InstTest0
167171// CHECK-NEXT: GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner1),
168- // CHECK-NEXT: // Label 8: @517
172+ // CHECK-NEXT: // Label 8: @[[L8]]
169173// CHECK-NEXT: GIM_Reject,
170- // CHECK-NEXT: // Label 1: @518
171- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 9*/ GIMT_Encode4(564 ), // Rule ID 6 //
174+ // CHECK-NEXT: // Label 1: @[[L1]]
175+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 9*/ GIMT_Encode4([[L9:[0-9]+]] ), // Rule ID 6 //
172176// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule5Enabled),
173177// CHECK-NEXT: GIM_RootCheckType, /*Op*/2, /*Type*/GILLT_s32,
174178// CHECK-NEXT: // MIs[0] dst
@@ -185,10 +189,10 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
185189// CHECK-NEXT: GIR_RootToRootCopy, /*OpIdx*/0, // dst
186190// CHECK-NEXT: GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // z
187191// CHECK-NEXT: GIR_EraseRootFromParent_Done,
188- // CHECK-NEXT: // Label 9: @564
192+ // CHECK-NEXT: // Label 9: @[[L9]]
189193// CHECK-NEXT: GIM_Reject,
190- // CHECK-NEXT: // Label 2: @565
191- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 10*/ GIMT_Encode4(598 ), // Rule ID 5 //
194+ // CHECK-NEXT: // Label 2: @[[L2]]
195+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 10*/ GIMT_Encode4([[L10:[0-9]+]] ), // Rule ID 5 //
192196// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule4Enabled),
193197// CHECK-NEXT: // MIs[0] tmp
194198// CHECK-NEXT: GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/0, // MIs[1]
@@ -204,29 +208,29 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
204208// CHECK-NEXT: GIR_RootToRootCopy, /*OpIdx*/1, // ptr
205209// CHECK-NEXT: GIR_MergeMemOperands, /*InsnID*/0, /*NumInsns*/2, /*MergeInsnID's*/0, 1,
206210// CHECK-NEXT: GIR_EraseRootFromParent_Done,
207- // CHECK-NEXT: // Label 10: @598
211+ // CHECK-NEXT: // Label 10: @[[L10]]
208212// CHECK-NEXT: GIM_Reject,
209- // CHECK-NEXT: // Label 3: @599
210- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 11*/ GIMT_Encode4(610 ), // Rule ID 0 //
213+ // CHECK-NEXT: // Label 3: @[[L3]]
214+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 11*/ GIMT_Encode4([[L11:[0-9]+]] ), // Rule ID 0 //
211215// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule0Enabled),
212216// CHECK-NEXT: // Combiner Rule #0: WipOpcodeTest0; wip_match_opcode 'G_TRUNC'
213217// CHECK-NEXT: GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner0),
214- // CHECK-NEXT: // Label 11: @610
215- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 12*/ GIMT_Encode4(621 ), // Rule ID 1 //
218+ // CHECK-NEXT: // Label 11: @[[L11]]
219+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 12*/ GIMT_Encode4([[L12:[0-9]+]] ), // Rule ID 1 //
216220// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule1Enabled),
217221// CHECK-NEXT: // Combiner Rule #1: WipOpcodeTest1; wip_match_opcode 'G_TRUNC'
218222// CHECK-NEXT: GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner0),
219- // CHECK-NEXT: // Label 12: @621
223+ // CHECK-NEXT: // Label 12: @[[L12]]
220224// CHECK-NEXT: GIM_Reject,
221- // CHECK-NEXT: // Label 4: @622
222- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 13*/ GIMT_Encode4(633 ), // Rule ID 2 //
225+ // CHECK-NEXT: // Label 4: @[[L4]]
226+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 13*/ GIMT_Encode4([[L13:[0-9]+]] ), // Rule ID 2 //
223227// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule1Enabled),
224228// CHECK-NEXT: // Combiner Rule #1: WipOpcodeTest1; wip_match_opcode 'G_SEXT'
225229// CHECK-NEXT: GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner0),
226- // CHECK-NEXT: // Label 13: @633
230+ // CHECK-NEXT: // Label 13: @[[L13]]
227231// CHECK-NEXT: GIM_Reject,
228- // CHECK-NEXT: // Label 5: @634
229- // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 14*/ GIMT_Encode4(668 ), // Rule ID 7 //
232+ // CHECK-NEXT: // Label 5: @[[L5]]
233+ // CHECK-NEXT: GIM_Try, /*On fail goto*//*Label 14*/ GIMT_Encode4([[L14:[0-9]+]] ), // Rule ID 7 //
230234// CHECK-NEXT: GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule6Enabled),
231235// CHECK-NEXT: // MIs[0] dst
232236// CHECK-NEXT: // No operand predicates
@@ -240,7 +244,7 @@ def MyCombiner: GICombiner<"GenMyCombiner", [
240244// CHECK-NEXT: GIR_RootToRootCopy, /*OpIdx*/0, // dst
241245// CHECK-NEXT: GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
242246// CHECK-NEXT: GIR_EraseRootFromParent_Done,
243- // CHECK-NEXT: // Label 14: @668
247+ // CHECK-NEXT: // Label 14: @[[L14]]
244248// CHECK-NEXT: GIM_Reject,
245249// CHECK-NEXT: // Label 6: @[[#%u, DEFAULT]]
246250// CHECK-NEXT: GIM_Reject,
0 commit comments