aboutsummaryrefslogtreecommitdiff
path: root/llvm/include/llvm/Analysis/AliasAnalysis.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/Analysis/AliasAnalysis.h')
-rw-r--r--llvm/include/llvm/Analysis/AliasAnalysis.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/include/llvm/Analysis/AliasAnalysis.h b/llvm/include/llvm/Analysis/AliasAnalysis.h
index 2770a1a9b277..d4febe6c1db9 100644
--- a/llvm/include/llvm/Analysis/AliasAnalysis.h
+++ b/llvm/include/llvm/Analysis/AliasAnalysis.h
@@ -60,7 +60,6 @@ class CatchReturnInst;
class DominatorTree;
class FenceInst;
class Function;
-class InvokeInst;
class LoopInfo;
class PreservedAnalyses;
class TargetLibraryInfo;
@@ -679,7 +678,7 @@ public:
/// Checks if functions with the specified behavior are known to only write
/// memory (or not access memory at all).
- static bool doesNotReadMemory(FunctionModRefBehavior MRB) {
+ static bool onlyWritesMemory(FunctionModRefBehavior MRB) {
return !isRefSet(createModRefInfo(MRB));
}
@@ -1268,6 +1267,14 @@ bool isIdentifiedObject(const Value *V);
/// IdentifiedObjects.
bool isIdentifiedFunctionLocal(const Value *V);
+/// Return true if Object memory is not visible after an unwind, in the sense
+/// that program semantics cannot depend on Object containing any particular
+/// value on unwind. If the RequiresNoCaptureBeforeUnwind out parameter is set
+/// to true, then the memory is only not visible if the object has not been
+/// captured prior to the unwind. Otherwise it is not visible even if captured.
+bool isNotVisibleOnUnwind(const Value *Object,
+ bool &RequiresNoCaptureBeforeUnwind);
+
/// A manager for alias analyses.
///
/// This class can have analyses registered with it and when run, it will run