Mercurial > hg > CbC > CbC_llvm
diff include/llvm/Analysis/LoopPass.h @ 83:60c9769439b8 LLVM3.7
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | 54457678186b |
children | 7d135dc70f03 |
line wrap: on
line diff
--- a/include/llvm/Analysis/LoopPass.h Mon Sep 08 22:07:30 2014 +0900 +++ b/include/llvm/Analysis/LoopPass.h Wed Feb 18 14:55:36 2015 +0900 @@ -82,6 +82,11 @@ /// deleteAnalysisValue - Delete analysis info associated with value V. virtual void deleteAnalysisValue(Value *V, Loop *L) {} + /// Delete analysis info associated with Loop L. + /// Called to notify a Pass that a loop has been deleted and any + /// associated analysis values can be deleted. + virtual void deleteAnalysisLoop(Loop *L) {} + protected: /// skipOptnoneFunction - Containing function has Attribute::OptimizeNone /// and most transformation passes should skip it. @@ -152,6 +157,10 @@ /// that implement simple analysis interface. void deleteSimpleAnalysisValue(Value *V, Loop *L); + /// Invoke deleteAnalysisLoop hook for all passes that implement simple + /// analysis interface. + void deleteSimpleAnalysisLoop(Loop *L); + private: std::deque<Loop *> LQ; bool skipThisLoop;