[clang] Preserve argument type in round pointer to alignment
GitOrigin-RevId: 78eb2c2cba5ad0f9a36ec1959371527313a76bbe
diff --git a/lib/CodeGen/ABIInfoImpl.cpp b/lib/CodeGen/ABIInfoImpl.cpp
index 1e4d48e..eb627a3 100644
--- a/lib/CodeGen/ABIInfoImpl.cpp
+++ b/lib/CodeGen/ABIInfoImpl.cpp
@@ -157,7 +157,7 @@
llvm::Value *RoundUp = CGF.Builder.CreateConstInBoundsGEP1_32(
CGF.Builder.getInt8Ty(), Ptr, Align.getQuantity() - 1);
return CGF.Builder.CreateIntrinsic(
- llvm::Intrinsic::ptrmask, {CGF.AllocaInt8PtrTy, CGF.IntPtrTy},
+ llvm::Intrinsic::ptrmask, {Ptr->getType(), CGF.IntPtrTy},
{RoundUp, llvm::ConstantInt::get(CGF.IntPtrTy, -Align.getQuantity())},
nullptr, Ptr->getName() + ".aligned");
}