projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove testing cruft, this can be found in unittests/Support/Casting.cpp now
[oota-llvm.git]
/
include
/
llvm
/
PassSupport.h
diff --git
a/include/llvm/PassSupport.h
b/include/llvm/PassSupport.h
index af00725a32df82b71d8c2ea1121ebe3c0523f2b6..b0183513386db975eab4d307a507590cea5b1588 100644
(file)
--- a/
include/llvm/PassSupport.h
+++ b/
include/llvm/PassSupport.h
@@
-21,7
+21,7
@@
#ifndef LLVM_PASS_SUPPORT_H
#define LLVM_PASS_SUPPORT_H
#ifndef LLVM_PASS_SUPPORT_H
#define LLVM_PASS_SUPPORT_H
-// No need to include Pass.h, we are being included by it!
+#include "Pass.h"
namespace llvm {
namespace llvm {
@@
-53,10
+53,10
@@
public:
/// through RegisterPass.
PassInfo(const char *name, const char *arg, intptr_t pi,
NormalCtor_t normal = 0,
/// through RegisterPass.
PassInfo(const char *name, const char *arg, intptr_t pi,
NormalCtor_t normal = 0,
- bool isCFGOnly = false, bool is
A
nalysis = false)
+ bool isCFGOnly = false, bool is
_a
nalysis = false)
: PassName(name), PassArgument(arg), PassID(pi),
IsCFGOnlyPass(isCFGOnly),
: PassName(name), PassArgument(arg), PassID(pi),
IsCFGOnlyPass(isCFGOnly),
- IsAnalysis(is
A
nalysis), IsAnalysisGroup(false), NormalCtor(normal) {
+ IsAnalysis(is
_a
nalysis), IsAnalysisGroup(false), NormalCtor(normal) {
registerPass();
}
/// PassInfo ctor - Do not call this directly, this should only be invoked
registerPass();
}
/// PassInfo ctor - Do not call this directly, this should only be invoked
@@
-82,6
+82,11
@@
public:
/// TODO : Rename
intptr_t getTypeInfo() const { return PassID; }
/// TODO : Rename
intptr_t getTypeInfo() const { return PassID; }
+ /// Return true if this PassID implements the specified ID pointer.
+ bool isPassID(void *IDPtr) const {
+ return PassID == (intptr_t)IDPtr;
+ }
+
/// isAnalysisGroup - Return true if this is an analysis group, not a normal
/// pass.
///
/// isAnalysisGroup - Return true if this is an analysis group, not a normal
/// pass.
///
@@
-104,13
+109,7
@@
public:
}
/// createPass() - Use this method to create an instance of this pass.
}
/// createPass() - Use this method to create an instance of this pass.
- Pass *createPass() const {
- assert((!isAnalysisGroup() || NormalCtor) &&
- "No default implementation found for analysis group!");
- assert(NormalCtor &&
- "Cannot call createPass on PassInfo without default ctor!");
- return NormalCtor();
- }
+ Pass *createPass() const;
/// addInterfaceImplemented - This method is called when this pass is
/// registered as a member of an analysis group with the RegisterAnalysisGroup
/// addInterfaceImplemented - This method is called when this pass is
/// registered as a member of an analysis group with the RegisterAnalysisGroup
@@
-127,13
+126,6
@@
public:
return ItfImpl;
}
return ItfImpl;
}
- /// getPassInfo - Deprecated API compaatibility function. This function
- /// just returns 'this'.
- ///
- const PassInfo *getPassInfo() const {
- return this;
- }
-
protected:
void registerPass();
void unregisterPass();
protected:
void registerPass();
void unregisterPass();
@@
-169,10
+161,10
@@
struct RegisterPass : public PassInfo {
// Register Pass using default constructor...
RegisterPass(const char *PassArg, const char *Name, bool CFGOnly = false,
// Register Pass using default constructor...
RegisterPass(const char *PassArg, const char *Name, bool CFGOnly = false,
- bool
IsA
nalysis = false)
+ bool
is_a
nalysis = false)
: PassInfo(Name, PassArg, intptr_t(&passName::ID),
PassInfo::NormalCtor_t(callDefaultCtor<passName>),
: PassInfo(Name, PassArg, intptr_t(&passName::ID),
PassInfo::NormalCtor_t(callDefaultCtor<passName>),
- CFGOnly,
IsA
nalysis) {
+ CFGOnly,
is_a
nalysis) {
}
};
}
};
@@
-185,7
+177,7
@@
struct RegisterPass : public PassInfo {
///
/// If no analysis implementing the interface is available, a default
/// implementation is created and added. A pass registers itself as the default
///
/// If no analysis implementing the interface is available, a default
/// implementation is created and added. A pass registers itself as the default
-/// implementation by specifying 'true' as the
thir
d template argument of this
+/// implementation by specifying 'true' as the
secon
d template argument of this
/// class.
///
/// In addition to registering itself as an analysis group member, a pass must
/// class.
///
/// In addition to registering itself as an analysis group member, a pass must
@@
-197,14
+189,11
@@
struct RegisterPass : public PassInfo {
/// a nice name with the interface.
///
class RegisterAGBase : public PassInfo {
/// a nice name with the interface.
///
class RegisterAGBase : public PassInfo {
- PassInfo *InterfaceInfo;
- const PassInfo *ImplementationInfo;
- bool isDefaultImplementation;
protected:
protected:
-
explicit
RegisterAGBase(const char *Name,
-
intptr_t InterfaceID,
-
intptr_t PassID = 0,
-
bool isDefault = false);
+ RegisterAGBase(const char *Name,
+ intptr_t InterfaceID,
+ intptr_t PassID = 0,
+ bool isDefault = false);
};
template<typename Interface, bool Default = false>
};
template<typename Interface, bool Default = false>
@@
-244,7
+233,7
@@
struct PassRegistrationListener {
/// Callback functions - These functions are invoked whenever a pass is loaded
/// or removed from the current executable.
///
/// Callback functions - These functions are invoked whenever a pass is loaded
/// or removed from the current executable.
///
- virtual void passRegistered(const PassInfo *
P
) {}
+ virtual void passRegistered(const PassInfo *) {}
/// enumeratePasses - Iterate over the registered passes, calling the
/// passEnumerate callback on each PassInfo object.
/// enumeratePasses - Iterate over the registered passes, calling the
/// passEnumerate callback on each PassInfo object.
@@
-254,7
+243,7
@@
struct PassRegistrationListener {
/// passEnumerate - Callback function invoked when someone calls
/// enumeratePasses on this PassRegistrationListener object.
///
/// passEnumerate - Callback function invoked when someone calls
/// enumeratePasses on this PassRegistrationListener object.
///
- virtual void passEnumerate(const PassInfo *
P
) {}
+ virtual void passEnumerate(const PassInfo *) {}
};
};