[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");
 }