Skip to content

Commit 87be1b8

Browse files
author
Kamil Kashapov
committed
Change IRB.getInt32Ty() to MS.IntptrTy, fix the tests
1 parent 04a253e commit 87be1b8

File tree

4 files changed

+621
-621
lines changed

4 files changed

+621
-621
lines changed

llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)