@@ -35,20 +35,6 @@ namespace llvm {
35
35
36
36
class Pass ;
37
37
38
- #define INITIALIZE_PASS (passName, arg, name, cfg, analysis ) \
39
- static void *initialize##passName##PassOnce(PassRegistry &Registry) { \
40
- PassInfo *PI = new PassInfo ( \
41
- name, arg, &passName::ID, \
42
- PassInfo::NormalCtor_t (callDefaultCtor<passName>), cfg, analysis); \
43
- Registry.registerPass (*PI, true ); \
44
- return PI; \
45
- } \
46
- static llvm::once_flag Initialize##passName##PassFlag; \
47
- void llvm::initialize##passName##Pass(PassRegistry &Registry) { \
48
- llvm::call_once (Initialize##passName##PassFlag, \
49
- initialize##passName##PassOnce, std::ref (Registry)); \
50
- }
51
-
52
38
#define INITIALIZE_PASS_BEGIN (passName, arg, name, cfg, analysis ) \
53
39
static void *initialize##passName##PassOnce(PassRegistry &Registry) {
54
40
@@ -67,15 +53,18 @@ class Pass;
67
53
initialize##passName##PassOnce, std::ref (Registry)); \
68
54
}
69
55
70
- #define INITIALIZE_PASS_WITH_OPTIONS (PassName, Arg, Name, Cfg, Analysis ) \
71
- INITIALIZE_PASS_BEGIN (PassName, Arg, Name, Cfg, Analysis) \
72
- PassName::registerOptions (); \
73
- INITIALIZE_PASS_END (PassName, Arg, Name, Cfg, Analysis)
56
+ #define INITIALIZE_PASS (passName, arg, name, cfg, analysis ) \
57
+ INITIALIZE_PASS_BEGIN (passName, arg, name, cfg, analysis) \
58
+ INITIALIZE_PASS_END (passName, arg, name, cfg, analysis)
74
59
75
60
#define INITIALIZE_PASS_WITH_OPTIONS_BEGIN (PassName, Arg, Name, Cfg, Analysis ) \
76
61
INITIALIZE_PASS_BEGIN (PassName, Arg, Name, Cfg, Analysis) \
77
62
PassName::registerOptions ();
78
63
64
+ #define INITIALIZE_PASS_WITH_OPTIONS (PassName, Arg, Name, Cfg, Analysis ) \
65
+ INITIALIZE_PASS_WITH_OPTIONS_BEGIN (PassName, Arg, Name, Cfg, Analysis) \
66
+ INITIALIZE_PASS_END (PassName, Arg, Name, Cfg, Analysis)
67
+
79
68
template <
80
69
class PassName ,
81
70
std::enable_if_t <std::is_default_constructible<PassName>{}, bool > = true >
0 commit comments