Devirtualize Pass::getPassID, overriding it isn't useful and it gets called a lot.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 24 Nov 2011 21:14:11 +0000 (21:14 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 24 Nov 2011 21:14:11 +0000 (21:14 +0000)
While at it pull the trivial ctor in line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145124 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Pass.h
lib/VMCore/Pass.cpp

index 04dd8b60547a966f77215de01d515357b3b484d3..4fd4b2c627f03e17a9cb9805d699ea08129aa753 100644 (file)
@@ -86,7 +86,7 @@ class Pass {
   Pass(const Pass &);           // DO NOT IMPLEMENT
   
 public:
-  explicit Pass(PassKind K, char &pid);
+  explicit Pass(PassKind K, char &pid) : Resolver(0), PassID(&pid), Kind(K) { }
   virtual ~Pass();
 
   
@@ -99,7 +99,7 @@ public:
   virtual const char *getPassName() const;
 
   /// getPassID - Return the PassID number that corresponds to this pass.
-  virtual AnalysisID getPassID() const {
+  AnalysisID getPassID() const {
     return PassID;
   }
 
index c90bfeda1cefacae4e4e9d98c90abafd4652c70d..fca9466bfdf9e2d05f67212d5a833cd15adb530c 100644 (file)
@@ -25,8 +25,6 @@ using namespace llvm;
 // Pass Implementation
 //
 
-Pass::Pass(PassKind K, char &pid) : Resolver(0), PassID(&pid), Kind(K) { }
-
 // Force out-of-line virtual method.
 Pass::~Pass() { 
   delete Resolver;