@@ -3346,6 +3346,11 @@ void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch,
3346
3346
// update the chain results when the pattern is complete.
3347
3347
SmallVector<SDNode*, 3 > ChainNodesMatched;
3348
3348
3349
+ if (N->getOpcode () == ISD::FADD) {
3350
+ llvm::dbgs () << " N->dump()\n " ;
3351
+ N->dump ();
3352
+ }
3353
+
3349
3354
LLVM_DEBUG (dbgs () << " ISEL: Starting pattern match\n " );
3350
3355
3351
3356
// Determine where to start the interpreter. Normally we start at opcode #0,
@@ -3358,8 +3363,10 @@ void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch,
3358
3363
// Already computed the OpcodeOffset table, just index into it.
3359
3364
if (N.getOpcode () < OpcodeOffset.size ())
3360
3365
MatcherIndex = OpcodeOffset[N.getOpcode ()];
3366
+ if (N->getOpcode () == ISD::FADD) {
3367
+ MatcherIndex = 0 ;
3368
+ }
3361
3369
LLVM_DEBUG (dbgs () << " Initial Opcode index to " << MatcherIndex << " \n " );
3362
-
3363
3370
} else if (MatcherTable[0 ] == OPC_SwitchOpcode) {
3364
3371
// Otherwise, the table isn't computed, but the state machine does start
3365
3372
// with an OPC_SwitchOpcode instruction. Populate the table now, since this
@@ -4266,6 +4273,10 @@ void SelectionDAGISel::SelectCodeCommon(SDNode *NodeToMatch,
4266
4273
if (!MatchedMemRefs.empty () && Res->memoperands_empty ())
4267
4274
dbgs () << " Dropping mem operands\n " ;
4268
4275
dbgs () << " " << (IsMorphNodeTo ? " Morphed" : " Created" ) << " node: " ;
4276
+ if (Res->getMachineOpcode () == 9545 ) {
4277
+ llvm::dbgs () << " morphed V_PK_ADD_F32\n " ;
4278
+ }
4279
+
4269
4280
Res->dump (CurDAG);
4270
4281
});
4271
4282
0 commit comments