diff options
Diffstat (limited to 'include/llvm/Analysis/GlobalsModRef.h')
-rw-r--r-- | include/llvm/Analysis/GlobalsModRef.h | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/include/llvm/Analysis/GlobalsModRef.h b/include/llvm/Analysis/GlobalsModRef.h index bcd102e7ded2..4c0a98949778 100644 --- a/include/llvm/Analysis/GlobalsModRef.h +++ b/include/llvm/Analysis/GlobalsModRef.h @@ -35,6 +35,7 @@ class GlobalsAAResult : public AAResultBase<GlobalsAAResult> { class FunctionInfo; const DataLayout &DL; + const TargetLibraryInfo &TLI; /// The globals that do not have their addresses taken. SmallPtrSet<const GlobalValue *, 8> NonAddressTakenGlobals; @@ -76,6 +77,7 @@ class GlobalsAAResult : public AAResultBase<GlobalsAAResult> { public: GlobalsAAResult(GlobalsAAResult &&Arg); + ~GlobalsAAResult(); static GlobalsAAResult analyzeModule(Module &M, const TargetLibraryInfo &TLI, CallGraph &CG); @@ -116,20 +118,14 @@ private: }; /// Analysis pass providing a never-invalidated alias analysis result. -class GlobalsAA { +class GlobalsAA : public AnalysisInfoMixin<GlobalsAA> { + friend AnalysisInfoMixin<GlobalsAA>; + static char PassID; + public: typedef GlobalsAAResult Result; - /// \brief Opaque, unique identifier for this analysis pass. - static void *ID() { return (void *)&PassID; } - - GlobalsAAResult run(Module &M, AnalysisManager<Module> *AM); - - /// \brief Provide access to a name for this pass for debugging purposes. - static StringRef name() { return "GlobalsAA"; } - -private: - static char PassID; + GlobalsAAResult run(Module &M, AnalysisManager<Module> &AM); }; /// Legacy wrapper pass to provide the GlobalsAAResult object. |