Skip to content

Commit 04aed77

Browse files
committed
Merge branch 'master' of https://github.com/dvm-system/tsar into private-array-bounds
2 parents c49c220 + c1dc12b commit 04aed77

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

include/tsar/Analysis/Memory/MemoryAccessUtils.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,9 @@ void for_each_memory(llvm::Instruction &I, llvm::TargetLibraryInfo &TLI,
7272
auto Callee =
7373
llvm::dyn_cast<Function>(Call->getCalledOperand()->stripPointerCasts());
7474
llvm::LibFunc LibId;
75+
bool IsMarker{false};
7576
if (auto II = llvm::dyn_cast<IntrinsicInst>(Call)) {
76-
bool IsMarker = isMemoryMarkerIntrinsic(II->getIntrinsicID());
77+
IsMarker = isMemoryMarkerIntrinsic(II->getIntrinsicID());
7778
foreachIntrinsicMemArg(*II,
7879
[IsMarker, Call, &TLI, &Func, &isValidPtr](unsigned Idx) {
7980
auto Loc = MemoryLocation::getForArgument(Call, Idx, TLI);
@@ -109,10 +110,11 @@ void for_each_memory(llvm::Instruction &I, llvm::TargetLibraryInfo &TLI,
109110
Call->onlyReadsMemory() ? AccessInfo::No : AccessInfo::May);
110111
}
111112
}
112-
if (!Call->onlyAccessesArgMemory() && Call->mayReadOrWriteMemory())
113+
if (!IsMarker && !Call->onlyAccessesArgMemory() &&
114+
Call->mayReadOrWriteMemory())
113115
UnknownFunc(*Call,
114-
Call->doesNotReadMemory() ? AccessInfo::No : AccessInfo::May,
115-
Call->onlyReadsMemory() ? AccessInfo::No : AccessInfo::May);
116+
Call->doesNotReadMemory() ? AccessInfo::No : AccessInfo::May,
117+
Call->onlyReadsMemory() ? AccessInfo::No : AccessInfo::May);
116118
};
117119
switch (I.getOpcode()) {
118120
default:

0 commit comments

Comments
 (0)