[llvm] [WebAssembly,llvm] Add llvm.wasm.ref.test.func intrinsic, option 2 (PR #147486)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 8 02:36:51 PDT 2025
================
@@ -402,7 +402,12 @@ void InstrEmitter::AddOperand(MachineInstrBuilder &MIB, SDValue Op,
AddRegisterOperand(MIB, Op, IIOpNum, II, VRBaseMap,
IsDebug, IsClone, IsCloned);
} else if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op)) {
- MIB.addImm(C->getSExtValue());
+ if (C->getOpcode() == ISD::TargetConstantAP) {
+ MIB.addCImm(
+ ConstantInt::get(MF->getFunction().getContext(), C->getAPIntValue()));
+ } else {
+ MIB.addImm(C->getSExtValue());
+ }
----------------
arsenm wrote:
You shouldn't unconditionally do that, no. For this case I would either treat this as a special case in emission (e.g. EmitSpecialNode), or do what GetMOForConstDbgOp does and swap the operand type based on the APInt bitwidth
https://github.com/llvm/llvm-project/pull/147486
More information about the llvm-commits
mailing list