[llvm-branch-commits] [IRTranslator] Handle ptrtoaddr (PR #139601)

Matt Arsenault via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon May 12 11:27:29 PDT 2025


================
@@ -1583,6 +1583,26 @@ bool IRTranslator::translateCast(unsigned Opcode, const User &U,
   return true;
 }
 
+bool IRTranslator::translatePtrToAddr(const User &U,
+                                      MachineIRBuilder &MIRBuilder) {
+  if (containsBF16Type(U))
+    return false;
+
+  uint32_t Flags = 0;
+  if (const Instruction *I = dyn_cast<Instruction>(&U))
+    Flags = MachineInstr::copyFlagsFromInstruction(*I);
+
+  Register Op = getOrCreateVReg(*U.getOperand(0));
+  Type *PtrTy = U.getOperand(0)->getType();
+  LLT AddrTy = getLLTForType(*DL->getIndexType(PtrTy), *DL);
+  auto IntPtrTy = getLLTForType(*DL->getIntPtrType(PtrTy), *DL);
+  auto PtrToInt = MIRBuilder.buildPtrToInt(IntPtrTy, Op);
----------------
arsenm wrote:

Why not introduce a G_PTRTOADDR? 

https://github.com/llvm/llvm-project/pull/139601


More information about the llvm-branch-commits mailing list