summaryrefslogtreecommitdiff
path: root/include/llvm/Analysis/CFLAndersAliasAnalysis.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Analysis/CFLAndersAliasAnalysis.h')
-rw-r--r--include/llvm/Analysis/CFLAndersAliasAnalysis.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/include/llvm/Analysis/CFLAndersAliasAnalysis.h b/include/llvm/Analysis/CFLAndersAliasAnalysis.h
index 4146ad4d18ac..6239d5309581 100644
--- a/include/llvm/Analysis/CFLAndersAliasAnalysis.h
+++ b/include/llvm/Analysis/CFLAndersAliasAnalysis.h
@@ -1,4 +1,4 @@
-//=- CFLAndersAliasAnalysis.h - Unification-based Alias Analysis ---*- C++-*-=//
+//==- CFLAndersAliasAnalysis.h - Unification-based Alias Analysis -*- C++-*-==//
//
// The LLVM Compiler Infrastructure
//
@@ -19,25 +19,31 @@
#include "llvm/ADT/Optional.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/CFLAliasAnalysisUtils.h"
-#include "llvm/IR/Function.h"
+#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include <forward_list>
+#include <memory>
namespace llvm {
+class Function;
+class MemoryLocation;
class TargetLibraryInfo;
namespace cflaa {
+
struct AliasSummary;
-}
+
+} // end namespace cflaa
class CFLAndersAAResult : public AAResultBase<CFLAndersAAResult> {
friend AAResultBase<CFLAndersAAResult>;
+
class FunctionInfo;
public:
- explicit CFLAndersAAResult(const TargetLibraryInfo &);
- CFLAndersAAResult(CFLAndersAAResult &&);
+ explicit CFLAndersAAResult(const TargetLibraryInfo &TLI);
+ CFLAndersAAResult(CFLAndersAAResult &&RHS);
~CFLAndersAAResult();
/// Handle invalidation events from the new pass manager.
@@ -46,6 +52,7 @@ public:
FunctionAnalysisManager::Invalidator &) {
return false;
}
+
/// Evict the given function from cache
void evict(const Function *Fn);
@@ -85,10 +92,11 @@ private:
/// in particular to leverage invalidation to trigger re-computation.
class CFLAndersAA : public AnalysisInfoMixin<CFLAndersAA> {
friend AnalysisInfoMixin<CFLAndersAA>;
+
static AnalysisKey Key;
public:
- typedef CFLAndersAAResult Result;
+ using Result = CFLAndersAAResult;
CFLAndersAAResult run(Function &F, FunctionAnalysisManager &AM);
};
@@ -109,12 +117,10 @@ public:
void getAnalysisUsage(AnalysisUsage &AU) const override;
};
-//===--------------------------------------------------------------------===//
-//
// createCFLAndersAAWrapperPass - This pass implements a set-based approach to
// alias analysis.
-//
ImmutablePass *createCFLAndersAAWrapperPass();
-}
-#endif
+} // end namespace llvm
+
+#endif // LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H