[llvm-branch-commits] [IRTranslator] Handle ptrtoaddr (PR #139601)
    Jessica Clarke via llvm-branch-commits 
    llvm-branch-commits at lists.llvm.org
       
    Mon Jun  9 20:47:26 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);
----------------
jrtc27 wrote:
We'd need a G_PTRTOADDR for CHERI given we can't do ptrtoint as it's defined upstream
https://github.com/llvm/llvm-project/pull/139601
    
    
More information about the llvm-branch-commits
mailing list