Analysis groups need to initialize their default implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116441 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2010-10-13 21:49:58 +00:00
parent a7dbc1ead7
commit 325e264355
5 changed files with 7 additions and 5 deletions

View File

@ -236,8 +236,9 @@ struct RegisterAnalysisGroup : public RegisterAGBase {
}
};
#define INITIALIZE_ANALYSIS_GROUP(agName, name) \
#define INITIALIZE_ANALYSIS_GROUP(agName, name, defaultPass) \
static void* initialize##agName##AnalysisGroupOnce(PassRegistry &Registry) { \
initialize##defaultPass##Pass(Registry); \
PassInfo *AI = new PassInfo(name, & agName :: ID); \
Registry.registerAnalysisGroup(& agName ::ID, 0, *AI, false); \
return AI; \

View File

@ -36,7 +36,7 @@
using namespace llvm;
// Register the AliasAnalysis interface, providing a nice name to refer to.
INITIALIZE_ANALYSIS_GROUP(AliasAnalysis, "Alias Analysis")
INITIALIZE_ANALYSIS_GROUP(AliasAnalysis, "Alias Analysis", BasicAliasAnalysis)
char AliasAnalysis::ID = 0;
//===----------------------------------------------------------------------===//

View File

@ -171,7 +171,7 @@ private:
} //End anonymous namespace
INITIALIZE_ANALYSIS_GROUP(CallGraph, "Call Graph")
INITIALIZE_ANALYSIS_GROUP(CallGraph, "Call Graph", BasicCallGraph)
INITIALIZE_AG_PASS(BasicCallGraph, CallGraph, "basiccg",
"Basic CallGraph Construction", false, true, true)

View File

@ -29,7 +29,7 @@ namespace llvm {
}
// Register the ProfileInfo interface, providing a nice name to refer to.
INITIALIZE_ANALYSIS_GROUP(ProfileInfo, "Profile Information")
INITIALIZE_ANALYSIS_GROUP(ProfileInfo, "Profile Information", NoProfileInfo)
namespace llvm {

View File

@ -24,7 +24,8 @@
using namespace llvm;
// Register the RegisterCoalescer interface, providing a nice name to refer to.
INITIALIZE_ANALYSIS_GROUP(RegisterCoalescer, "Register Coalescer")
INITIALIZE_ANALYSIS_GROUP(RegisterCoalescer, "Register Coalescer",
SimpleRegisterCoalescing)
char RegisterCoalescer::ID = 0;
// RegisterCoalescer destructor: DO NOT move this to the header file