comparison 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
comparison
equal deleted inserted replaced
78:af83660cff7b 83:60c9769439b8
80 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {} 80 virtual void cloneBasicBlockAnalysis(BasicBlock *F, BasicBlock *T, Loop *L) {}
81 81
82 /// deleteAnalysisValue - Delete analysis info associated with value V. 82 /// deleteAnalysisValue - Delete analysis info associated with value V.
83 virtual void deleteAnalysisValue(Value *V, Loop *L) {} 83 virtual void deleteAnalysisValue(Value *V, Loop *L) {}
84 84
85 /// Delete analysis info associated with Loop L.
86 /// Called to notify a Pass that a loop has been deleted and any
87 /// associated analysis values can be deleted.
88 virtual void deleteAnalysisLoop(Loop *L) {}
89
85 protected: 90 protected:
86 /// skipOptnoneFunction - Containing function has Attribute::OptimizeNone 91 /// skipOptnoneFunction - Containing function has Attribute::OptimizeNone
87 /// and most transformation passes should skip it. 92 /// and most transformation passes should skip it.
88 bool skipOptnoneFunction(const Loop *L) const; 93 bool skipOptnoneFunction(const Loop *L) const;
89 }; 94 };
150 155
151 /// deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes 156 /// deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes
152 /// that implement simple analysis interface. 157 /// that implement simple analysis interface.
153 void deleteSimpleAnalysisValue(Value *V, Loop *L); 158 void deleteSimpleAnalysisValue(Value *V, Loop *L);
154 159
160 /// Invoke deleteAnalysisLoop hook for all passes that implement simple
161 /// analysis interface.
162 void deleteSimpleAnalysisLoop(Loop *L);
163
155 private: 164 private:
156 std::deque<Loop *> LQ; 165 std::deque<Loop *> LQ;
157 bool skipThisLoop; 166 bool skipThisLoop;
158 bool redoThisLoop; 167 bool redoThisLoop;
159 LoopInfo *LI; 168 LoopInfo *LI;