Index: llvm/trunk/include/llvm/PassAnalysisSupport.h =================================================================== --- llvm/trunk/include/llvm/PassAnalysisSupport.h +++ llvm/trunk/include/llvm/PassAnalysisSupport.h @@ -36,11 +36,17 @@ /// class AnalysisUsage { public: - typedef SmallVector VectorType; + typedef SmallVectorImpl VectorType; private: /// Sets of analyses required and preserved by a pass - VectorType Required, RequiredTransitive, Preserved, Used; + // TODO: It's not clear that SmallVector is an appropriate data structure for + // this usecase. The sizes were picked to minimize wasted space, but are + // otherwise fairly meaningless. + SmallVector Required; + SmallVector RequiredTransitive; + SmallVector Preserved; + SmallVector Used; bool PreservesAll; public: