================
@@ -3980,8 +3980,16 @@ void SelectionDAGBuilder::visitSIToFP(const User &I) {
}
void SelectionDAGBuilder::visitPtrToAddr(const User &I) {
- // FIXME: this is not correct for pointers with addr width != pointer width
- visitPtrToInt(I);
+ const auto &TLI = DAG.getTargetLoweringInfo();
+ const DataLayout &DL = DAG.getDataLayout();
+ // ptrtoaddr is equivalent to a truncate of ptrtoint to address/index width
+ auto Op0 = I.getOperand(0);
+ SDValue N = getValue(Op0);
+ // By definition the type of the ptrtoaddr must be equal to the address type.
+ assert(I.getType() == DL.getAddressType(Op0->getType()));
----------------
arsenm wrote:
Don't need to assert things enforced by the verifier
https://github.com/llvm/llvm-project/pull/139423
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits