@@ -2407,7 +2407,7 @@ static bool isFunctionPassName(StringRef Name, CallbacksT &Callbacks) {
2407
2407
#define FUNCTION_PASS (NAME, CREATE_PASS ) \
2408
2408
if (Name == NAME) \
2409
2409
return true ;
2410
- #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2410
+ #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2411
2411
if (checkParametrizedPassName (Name, NAME)) \
2412
2412
return true ;
2413
2413
#define FUNCTION_ANALYSIS (NAME, CREATE_PASS ) \
@@ -2431,7 +2431,7 @@ static bool isLoopPassName(StringRef Name, CallbacksT &Callbacks) {
2431
2431
#define LOOP_PASS (NAME, CREATE_PASS ) \
2432
2432
if (Name == NAME) \
2433
2433
return true ;
2434
- #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2434
+ #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2435
2435
if (checkParametrizedPassName (Name, NAME)) \
2436
2436
return true ;
2437
2437
#define LOOP_ANALYSIS (NAME, CREATE_PASS ) \
@@ -2621,7 +2621,7 @@ Error PassBuilder::parseModulePass(ModulePassManager &MPM,
2621
2621
MPM.addPass (createModuleToFunctionPassAdaptor (CREATE_PASS)); \
2622
2622
return Error::success (); \
2623
2623
}
2624
- #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2624
+ #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2625
2625
if (checkParametrizedPassName (Name, NAME)) { \
2626
2626
auto Params = parsePassParameters (PARSER, Name, NAME); \
2627
2627
if (!Params) \
@@ -2635,7 +2635,7 @@ Error PassBuilder::parseModulePass(ModulePassManager &MPM,
2635
2635
createFunctionToLoopPassAdaptor (CREATE_PASS, false , false ))); \
2636
2636
return Error::success (); \
2637
2637
}
2638
- #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2638
+ #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2639
2639
if (checkParametrizedPassName (Name, NAME)) { \
2640
2640
auto Params = parsePassParameters (PARSER, Name, NAME); \
2641
2641
if (!Params) \
@@ -2728,7 +2728,7 @@ Error PassBuilder::parseCGSCCPass(CGSCCPassManager &CGPM,
2728
2728
CGPM.addPass (createCGSCCToFunctionPassAdaptor (CREATE_PASS)); \
2729
2729
return Error::success (); \
2730
2730
}
2731
- #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2731
+ #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2732
2732
if (checkParametrizedPassName (Name, NAME)) { \
2733
2733
auto Params = parsePassParameters (PARSER, Name, NAME); \
2734
2734
if (!Params) \
@@ -2742,7 +2742,7 @@ Error PassBuilder::parseCGSCCPass(CGSCCPassManager &CGPM,
2742
2742
createFunctionToLoopPassAdaptor (CREATE_PASS, false , false ))); \
2743
2743
return Error::success (); \
2744
2744
}
2745
- #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2745
+ #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2746
2746
if (checkParametrizedPassName (Name, NAME)) { \
2747
2747
auto Params = parsePassParameters (PARSER, Name, NAME); \
2748
2748
if (!Params) \
@@ -2813,7 +2813,7 @@ Error PassBuilder::parseFunctionPass(FunctionPassManager &FPM,
2813
2813
FPM.addPass (CREATE_PASS); \
2814
2814
return Error::success (); \
2815
2815
}
2816
- #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2816
+ #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2817
2817
if (checkParametrizedPassName (Name, NAME)) { \
2818
2818
auto Params = parsePassParameters (PARSER, Name, NAME); \
2819
2819
if (!Params) \
@@ -2842,7 +2842,7 @@ Error PassBuilder::parseFunctionPass(FunctionPassManager &FPM,
2842
2842
FPM.addPass (createFunctionToLoopPassAdaptor (CREATE_PASS, false , false )); \
2843
2843
return Error::success (); \
2844
2844
}
2845
- #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2845
+ #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2846
2846
if (checkParametrizedPassName (Name, NAME)) { \
2847
2847
auto Params = parsePassParameters (PARSER, Name, NAME); \
2848
2848
if (!Params) \
@@ -2900,7 +2900,7 @@ Error PassBuilder::parseLoopPass(LoopPassManager &LPM,
2900
2900
LPM.addPass (CREATE_PASS); \
2901
2901
return Error::success (); \
2902
2902
}
2903
- #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER ) \
2903
+ #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
2904
2904
if (checkParametrizedPassName (Name, NAME)) { \
2905
2905
auto Params = parsePassParameters (PARSER, Name, NAME); \
2906
2906
if (!Params) \
@@ -3160,6 +3160,10 @@ bool PassBuilder::isAnalysisPassName(StringRef PassName) {
3160
3160
static void printPassName (StringRef PassName, raw_ostream &OS) {
3161
3161
OS << " " << PassName << " \n " ;
3162
3162
}
3163
+ static void printPassName (StringRef PassName, StringRef Params,
3164
+ raw_ostream &OS) {
3165
+ OS << " " << PassName << " <" << Params << " >\n " ;
3166
+ }
3163
3167
3164
3168
void PassBuilder::printPassNames (raw_ostream &OS) {
3165
3169
// TODO: print pass descriptions when they are available
@@ -3188,6 +3192,11 @@ void PassBuilder::printPassNames(raw_ostream &OS) {
3188
3192
#define FUNCTION_PASS (NAME, CREATE_PASS ) printPassName(NAME, OS);
3189
3193
#include " PassRegistry.def"
3190
3194
3195
+ OS << " Function passes with params:\n " ;
3196
+ #define FUNCTION_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
3197
+ printPassName (NAME, PARAMS, OS);
3198
+ #include " PassRegistry.def"
3199
+
3191
3200
OS << " Function analyses:\n " ;
3192
3201
#define FUNCTION_ANALYSIS (NAME, CREATE_PASS ) printPassName(NAME, OS);
3193
3202
#include " PassRegistry.def"
@@ -3200,6 +3209,11 @@ void PassBuilder::printPassNames(raw_ostream &OS) {
3200
3209
#define LOOP_PASS (NAME, CREATE_PASS ) printPassName(NAME, OS);
3201
3210
#include " PassRegistry.def"
3202
3211
3212
+ OS << " Loop passes with params:\n " ;
3213
+ #define LOOP_PASS_WITH_PARAMS (NAME, CREATE_PASS, PARSER, PARAMS ) \
3214
+ printPassName (NAME, PARAMS, OS);
3215
+ #include " PassRegistry.def"
3216
+
3203
3217
OS << " Loop analyses:\n " ;
3204
3218
#define LOOP_ANALYSIS (NAME, CREATE_PASS ) printPassName(NAME, OS);
3205
3219
#include " PassRegistry.def"
0 commit comments