diff options
Diffstat (limited to 'include/llvm/Analysis/CFLSteensAliasAnalysis.h')
-rw-r--r-- | include/llvm/Analysis/CFLSteensAliasAnalysis.h | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/include/llvm/Analysis/CFLSteensAliasAnalysis.h b/include/llvm/Analysis/CFLSteensAliasAnalysis.h index fd3fa5febcdfb..ee9e29046af88 100644 --- a/include/llvm/Analysis/CFLSteensAliasAnalysis.h +++ b/include/llvm/Analysis/CFLSteensAliasAnalysis.h @@ -1,4 +1,4 @@ -//=- CFLSteensAliasAnalysis.h - Unification-based Alias Analysis ---*- C++-*-=// +//==- CFLSteensAliasAnalysis.h - Unification-based Alias Analysis -*- C++-*-==// // // The LLVM Compiler Infrastructure // @@ -16,30 +16,34 @@ #define LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H #include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/None.h" #include "llvm/ADT/Optional.h" #include "llvm/Analysis/AliasAnalysis.h" #include "llvm/Analysis/CFLAliasAnalysisUtils.h" -#include "llvm/IR/Function.h" -#include "llvm/IR/Module.h" -#include "llvm/IR/ValueHandle.h" +#include "llvm/Analysis/MemoryLocation.h" +#include "llvm/IR/PassManager.h" #include "llvm/Pass.h" +#include "llvm/Support/Casting.h" #include <forward_list> +#include <memory> namespace llvm { +class Function; class TargetLibraryInfo; namespace cflaa { + struct AliasSummary; -} + +} // end namespace cflaa class CFLSteensAAResult : public AAResultBase<CFLSteensAAResult> { friend AAResultBase<CFLSteensAAResult>; + class FunctionInfo; public: - explicit CFLSteensAAResult(const TargetLibraryInfo &); + explicit CFLSteensAAResult(const TargetLibraryInfo &TLI); CFLSteensAAResult(CFLSteensAAResult &&Arg); ~CFLSteensAAResult(); @@ -68,7 +72,7 @@ public: AliasResult alias(const MemoryLocation &LocA, const MemoryLocation &LocB) { if (LocA.Ptr == LocB.Ptr) - return LocA.Size == LocB.Size ? MustAlias : PartialAlias; + return MustAlias; // Comparisons between global variables and other constants should be // handled by BasicAA. @@ -105,10 +109,11 @@ private: /// in particular to leverage invalidation to trigger re-computation of sets. class CFLSteensAA : public AnalysisInfoMixin<CFLSteensAA> { friend AnalysisInfoMixin<CFLSteensAA>; + static AnalysisKey Key; public: - typedef CFLSteensAAResult Result; + using Result = CFLSteensAAResult; CFLSteensAAResult run(Function &F, FunctionAnalysisManager &AM); }; @@ -129,12 +134,10 @@ public: void getAnalysisUsage(AnalysisUsage &AU) const override; }; -//===--------------------------------------------------------------------===// -// // createCFLSteensAAWrapperPass - This pass implements a set-based approach to // alias analysis. -// ImmutablePass *createCFLSteensAAWrapperPass(); -} -#endif +} // end namespace llvm + +#endif // LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H |