summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index 73dc0457ea8..be4e8e972d0 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -570,6 +570,9 @@ FunctionModRefBehavior BasicAAResult::getModRefBehavior(ImmutableCallSite CS) {
/// Returns the behavior when calling the given function. For use when the call
/// site is not known.
+/// NOTE: Because of the special case handling of llvm.assume below, the result
+/// of this function may not match similar results derived from function
+/// attributes (e.g. "readnone").
FunctionModRefBehavior BasicAAResult::getModRefBehavior(const Function *F) {
// If the function declares it doesn't access memory, we can't do better.
if (F->doesNotAccessMemory())
@@ -577,7 +580,7 @@ FunctionModRefBehavior BasicAAResult::getModRefBehavior(const Function *F) {
// While the assume intrinsic is marked as arbitrarily writing so that
// proper control dependencies will be maintained, it never aliases any
- // particular memory location.
+ // actual memory locations.
if (F->getIntrinsicID() == Intrinsic::assume)
return FMRB_DoesNotAccessMemory;
OpenPOWER on IntegriCloud