X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Fllvm%2FPass.h;h=9dc8643343def079626982e93392a70a3f70502f;hb=d49e18d29f3c5622cfd373fbfa0b954d1c256455;hp=ea129e0fc364c7d483ed0ee918cb48e9416e441e;hpb=e819ff70f7e3528096569cd53bf6f38bbacabac1;p=oota-llvm.git diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index ea129e0fc36..9dc8643343d 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -29,6 +29,7 @@ #ifndef LLVM_PASS_H #define LLVM_PASS_H +#include "llvm/Support/DataTypes.h" #include "llvm/Support/Streams.h" #include #include @@ -85,6 +86,7 @@ class Pass { Pass(const Pass &); // DO NOT IMPLEMENT public: explicit Pass(intptr_t pid) : Resolver(0), PassID(pid) {} + explicit Pass(const void *pid) : Resolver(0), PassID((intptr_t)pid) {} virtual ~Pass(); /// getPassName - Return a nice clean name for a pass. This usually @@ -170,7 +172,7 @@ public: template static const PassInfo *getClassPassInfo() { - return lookupPassInfo((intptr_t)&AnalysisClass::ID); + return lookupPassInfo(intptr_t(&AnalysisClass::ID)); } // lookupPassInfo - Return the pass info object for the specified pass class, @@ -240,6 +242,7 @@ public: } explicit ModulePass(intptr_t pid) : Pass(pid) {} + explicit ModulePass(const void *pid) : Pass(pid) {} // Force out-of-line virtual method. virtual ~ModulePass(); }; @@ -265,6 +268,8 @@ public: bool runOnModule(Module &M) { return false; } explicit ImmutablePass(intptr_t pid) : ModulePass(pid) {} + explicit ImmutablePass(const void *pid) : ModulePass(pid) {} + // Force out-of-line virtual method. virtual ~ImmutablePass(); }; @@ -281,6 +286,7 @@ public: class FunctionPass : public Pass { public: explicit FunctionPass(intptr_t pid) : Pass(pid) {} + explicit FunctionPass(const void *pid) : Pass(pid) {} /// doInitialization - Virtual method overridden by subclasses to do /// any necessary per-module initialization. @@ -332,6 +338,7 @@ public: class BasicBlockPass : public Pass { public: explicit BasicBlockPass(intptr_t pid) : Pass(pid) {} + explicit BasicBlockPass(const void *pid) : Pass(pid) {} /// doInitialization - Virtual method overridden by subclasses to do /// any necessary per-module initialization.