<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div style="margin:0;">Hello,</div><div style="margin:0;"><br></div><div style="margin:0;">I would like to make some DAG transform in RISCV's ISelDAGToDAG, but I find the ReplaceNode() requests</div><div style="margin:0;"><br></div><div style="margin:0;">the new Node to be a MachineNode( usually created be curDAG->getMachineNode with the opcode set to RISCV::xxxx).</div><div style="margin:0;"><br></div><div style="margin:0;">Can I just pass it a SDNode (with opcode set to anoher ISD::xxx, not RISCV::xxx) ? It seems LLVM will crash.</div><div style="margin:0;"><br></div><div style="margin:0;">Because I want to change the opcode to ADD, can I avoid the complexity of selecting ADDW/ADDI/ADDIW for a machine node in different cases?</div><div style="margin:0;"><br></div><div style="margin:0;">Ben Shi</div><div style="margin:0;"><br></div></div>