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