@@ -846,9 +846,9 @@ void MemorySanitizer::createKernelApi(Module &M, const TargetLibraryInfo &TLI) {
846846 }
847847
848848 MsanMetadataPtrForLoadN = getOrInsertMsanMetadataFunction (
849- M, " __msan_metadata_ptr_for_load_n" , PtrTy, IRB. getInt64Ty () );
849+ M, " __msan_metadata_ptr_for_load_n" , PtrTy, IntptrTy );
850850 MsanMetadataPtrForStoreN = getOrInsertMsanMetadataFunction (
851- M, " __msan_metadata_ptr_for_store_n" , PtrTy, IRB. getInt64Ty () );
851+ M, " __msan_metadata_ptr_for_store_n" , PtrTy, IntptrTy );
852852
853853 // Functions for poisoning and unpoisoning memory.
854854 MsanPoisonAllocaFn = M.getOrInsertFunction (
@@ -6551,7 +6551,7 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
65516551 VAArgBase = 8 ;
65526552 unsigned VAArgOffset = VAArgBase;
65536553 const DataLayout &DL = F.getDataLayout ();
6554- unsigned IntptrSize = DL.getTypeStoreSize (IRB. getInt32Ty () );
6554+ unsigned IntptrSize = DL.getTypeStoreSize (MS. IntptrTy );
65556555 for (const auto &[ArgNo, A] : llvm::enumerate (CB.args ())) {
65566556 bool IsFixed = ArgNo < CB.getFunctionType ()->getNumParams ();
65576557 bool IsByVal = CB.paramHasAttr (ArgNo, Attribute::ByVal);
@@ -6620,7 +6620,7 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
66206620 }
66216621
66226622 Constant *TotalVAArgSize =
6623- ConstantInt::get (IRB. getInt32Ty () , VAArgOffset - VAArgBase);
6623+ ConstantInt::get (MS. IntptrTy , VAArgOffset - VAArgBase);
66246624 // Here using VAArgOverflowSizeTLS as VAArgSizeTLS to avoid creation of
66256625 // a new class member i.e. it is the total size of all VarArgs.
66266626 IRB.CreateStore (TotalVAArgSize, MS.VAArgOverflowSizeTLS );
@@ -6630,7 +6630,7 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
66306630 assert (!VAArgSize && !VAArgTLSCopy &&
66316631 " finalizeInstrumentation called twice" );
66326632 IRBuilder<> IRB (MSV.FnPrologueEnd );
6633- VAArgSize = IRB.CreateLoad (IRB. getInt32Ty () , MS.VAArgOverflowSizeTLS );
6633+ VAArgSize = IRB.CreateLoad (MS. IntptrTy , MS.VAArgOverflowSizeTLS );
66346634 Value *CopySize = VAArgSize;
66356635
66366636 if (!VAStartInstrumentationList.empty ()) {
@@ -6644,7 +6644,7 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
66446644
66456645 Value *SrcSize = IRB.CreateBinaryIntrinsic (
66466646 Intrinsic::umin, CopySize,
6647- ConstantInt::get (IRB. getInt32Ty () , kParamTLSSize ));
6647+ ConstantInt::get (MS. IntptrTy , kParamTLSSize ));
66486648 IRB.CreateMemCpy (VAArgTLSCopy, kShadowTLSAlignment , MS.VAArgTLS ,
66496649 kShadowTLSAlignment , SrcSize);
66506650 }
@@ -6656,22 +6656,22 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
66566656 NextNodeIRBuilder IRB (OrigInst);
66576657 Value *VAListTag = OrigInst->getArgOperand (0 );
66586658 Value *RegSaveAreaPtrPtr =
6659- IRB.CreatePtrToInt (VAListTag, IRB. getInt32Ty () );
6659+ IRB.CreatePtrToInt (VAListTag, MS. IntptrTy );
66606660 Value *RegSaveAreaSize = CopySize;
66616661
66626662 // In PPC32 va_list_tag is a struct
66636663 RegSaveAreaPtrPtr = IRB.CreateAdd (RegSaveAreaPtrPtr,
6664- ConstantInt::get (IRB. getInt32Ty () , 8 ));
6664+ ConstantInt::get (MS. IntptrTy , 8 ));
66656665
66666666 // On PPC 32 reg_save_area can only hold 32 bytes of data
66676667 RegSaveAreaSize = IRB.CreateBinaryIntrinsic (
6668- Intrinsic::umin, CopySize, ConstantInt::get (IRB. getInt32Ty () , 32 ));
6668+ Intrinsic::umin, CopySize, ConstantInt::get (MS. IntptrTy , 32 ));
66696669
66706670 RegSaveAreaPtrPtr = IRB.CreateIntToPtr (RegSaveAreaPtrPtr, MS.PtrTy );
66716671 Value *RegSaveAreaPtr = IRB.CreateLoad (MS.PtrTy , RegSaveAreaPtrPtr);
66726672
66736673 const DataLayout &DL = F.getDataLayout ();
6674- unsigned IntptrSize = DL.getTypeStoreSize (IRB. getInt32Ty () );
6674+ unsigned IntptrSize = DL.getTypeStoreSize (MS. IntptrTy );
66756675 const Align Alignment = Align (IntptrSize);
66766676
66776677 { // Copy reg save area
@@ -6683,24 +6683,24 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
66836683 Alignment, RegSaveAreaSize);
66846684
66856685 RegSaveAreaShadowPtr =
6686- IRB.CreatePtrToInt (RegSaveAreaShadowPtr, IRB. getInt32Ty () );
6686+ IRB.CreatePtrToInt (RegSaveAreaShadowPtr, MS. IntptrTy );
66876687 Value *FPSaveArea = IRB.CreateAdd (
6688- RegSaveAreaShadowPtr, ConstantInt::get (IRB. getInt32Ty () , 32 ));
6688+ RegSaveAreaShadowPtr, ConstantInt::get (MS. IntptrTy , 32 ));
66896689 FPSaveArea = IRB.CreateIntToPtr (FPSaveArea, MS.PtrTy );
66906690 // We fill fp shadow with zeroes as uninitialized fp args should have
66916691 // been found during call base check
66926692 IRB.CreateMemSet (FPSaveArea, ConstantInt::getNullValue (IRB.getInt8Ty ()),
6693- ConstantInt::get (IRB. getInt32Ty () , 32 ), Alignment);
6693+ ConstantInt::get (MS. IntptrTy , 32 ), Alignment);
66946694 }
66956695
66966696 { // Copy overflow area
66976697 // RegSaveAreaSize is min(CopySize, 32) -> no overflow can occur
66986698 Value *OverflowAreaSize = IRB.CreateSub (CopySize, RegSaveAreaSize);
66996699
67006700 Value *OverflowAreaPtrPtr =
6701- IRB.CreatePtrToInt (VAListTag, IRB. getInt32Ty () );
6701+ IRB.CreatePtrToInt (VAListTag, MS. IntptrTy );
67026702 OverflowAreaPtrPtr = IRB.CreateAdd (
6703- OverflowAreaPtrPtr, ConstantInt::get (IRB. getInt32Ty () , 4 ));
6703+ OverflowAreaPtrPtr, ConstantInt::get (MS. IntptrTy , 4 ));
67046704 OverflowAreaPtrPtr = IRB.CreateIntToPtr (OverflowAreaPtrPtr, MS.PtrTy );
67056705
67066706 Value *OverflowAreaPtr = IRB.CreateLoad (MS.PtrTy , OverflowAreaPtrPtr);
@@ -6711,7 +6711,7 @@ struct VarArgPowerPC32Helper : public VarArgHelperBase {
67116711 Alignment, /* isStore*/ true );
67126712
67136713 Value *OverflowVAArgTLSCopyPtr =
6714- IRB.CreatePtrToInt (VAArgTLSCopy, IRB. getInt32Ty () );
6714+ IRB.CreatePtrToInt (VAArgTLSCopy, MS. IntptrTy );
67156715 OverflowVAArgTLSCopyPtr =
67166716 IRB.CreateAdd (OverflowVAArgTLSCopyPtr, RegSaveAreaSize);
67176717
0 commit comments