summaryrefslogtreecommitdiff
path: root/include/llvm/PassAnalysisSupport.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/PassAnalysisSupport.h')
-rw-r--r--include/llvm/PassAnalysisSupport.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/llvm/PassAnalysisSupport.h b/include/llvm/PassAnalysisSupport.h
index 4d19858bc9..c6ed179af6 100644
--- a/include/llvm/PassAnalysisSupport.h
+++ b/include/llvm/PassAnalysisSupport.h
@@ -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; }
};
//===----------------------------------------------------------------------===//