diff options
Diffstat (limited to 'llvm/lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/BasicAliasAnalysis.cpp | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp index cfb3468..63d5842 100644 --- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp +++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp @@ -994,20 +994,6 @@ ModRefInfo BasicAAResult::getModRefInfo(const CallBase *Call, } } - // If the call is malloc/calloc like, we can assume that it doesn't - // modify any IR visible value. This is only valid because we assume these - // routines do not read values visible in the IR. TODO: Consider special - // casing realloc and strdup routines which access only their arguments as - // well. Or alternatively, replace all of this with inaccessiblememonly once - // that's implemented fully. - if (isMallocOrCallocLikeFn(Call, &TLI)) { - // Be conservative if the accessed pointer may alias the allocation - - // fallback to the generic handling below. - if (getBestAAResults().alias(MemoryLocation::getBeforeOrAfter(Call), Loc, - AAQI) == AliasResult::NoAlias) - return ModRefInfo::NoModRef; - } - // Ideally, there should be no need to special case for memcpy/memove // intrinsics here since general machinery (based on memory attributes) should // already handle it just fine. Unfortunately, it doesn't due to deficiency in |