Mercurial > hg > CbC > CbC_llvm
comparison include/llvm/PassAnalysisSupport.h @ 100:7d135dc70f03 LLVM 3.9
LLVM 3.9
author | Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 22:53:40 +0900 |
parents | afa8332a0e37 |
children | 1172e4bd9c6f |
comparison
equal
deleted
inserted
replaced
96:6418606d0ead | 100:7d135dc70f03 |
---|---|
34 /// of these analyses). This information is provided by a pass to the Pass | 34 /// of these analyses). This information is provided by a pass to the Pass |
35 /// infrastructure through the getAnalysisUsage virtual function. | 35 /// infrastructure through the getAnalysisUsage virtual function. |
36 /// | 36 /// |
37 class AnalysisUsage { | 37 class AnalysisUsage { |
38 public: | 38 public: |
39 typedef SmallVector<AnalysisID, 32> VectorType; | 39 typedef SmallVectorImpl<AnalysisID> VectorType; |
40 | 40 |
41 private: | 41 private: |
42 /// Sets of analyses required and preserved by a pass | 42 /// Sets of analyses required and preserved by a pass |
43 VectorType Required, RequiredTransitive, Preserved, Used; | 43 // TODO: It's not clear that SmallVector is an appropriate data structure for |
44 // this usecase. The sizes were picked to minimize wasted space, but are | |
45 // otherwise fairly meaningless. | |
46 SmallVector<AnalysisID, 8> Required; | |
47 SmallVector<AnalysisID, 2> RequiredTransitive; | |
48 SmallVector<AnalysisID, 2> Preserved; | |
49 SmallVector<AnalysisID, 0> Used; | |
44 bool PreservesAll; | 50 bool PreservesAll; |
45 | 51 |
46 public: | 52 public: |
47 AnalysisUsage() : PreservesAll(false) {} | 53 AnalysisUsage() : PreservesAll(false) {} |
48 | 54 |