Rename some GC classes so that their roll will hopefully be clearer.
[oota-llvm.git] / include / llvm / PassAnalysisSupport.h
index 0454f2143fe7566afab961a1bc8345954bc6d6bc..c6ed179af61f9a3516a562cede022d84d9752f42 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -20,6 +20,7 @@
 #define LLVM_PASS_ANALYSIS_SUPPORT_H
 
 #include <vector>
+#include "llvm/ADT/SmallVector.h"
 
 namespace llvm {
 
@@ -34,9 +35,14 @@ namespace llvm {
 // Pass infrastructure through the getAnalysisUsage virtual function.
 //
 class AnalysisUsage {
+public:
+  typedef SmallVector<AnalysisID, 32> VectorType;
+
+private:
   // Sets of analyses required and preserved by a pass
-  std::vector<AnalysisID> Required, RequiredTransitive, Preserved;
+  VectorType Required, RequiredTransitive, Preserved;
   bool PreservesAll;
+
 public:
   AnalysisUsage() : PreservesAll(false) {}
 
@@ -95,11 +101,11 @@ public:
   ///
   void setPreservesCFG();
 
-  const std::vector<AnalysisID> &getRequiredSet() const { return Required; }
-  const std::vector<AnalysisID> &getRequiredTransitiveSet() const {
+  const VectorType &getRequiredSet() const { return Required; }
+  const VectorType &getRequiredTransitiveSet() const {
     return RequiredTransitive;
   }
-  const std::vector<AnalysisID> &getPreservedSet() const { return Preserved; }
+  const VectorType &getPreservedSet() const { return Preserved; }
 };
 
 //===----------------------------------------------------------------------===//