9
9
#include " common.hh"
10
10
#include " pass.hh"
11
11
12
- #if defined(LLVM14_0) || defined(LLVM15_0) || defined(LLVM16_0 )
12
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 14 )
13
13
#include < llvm/Passes/OptimizationLevel.h>
14
14
using LlvmOptLevel = llvm::OptimizationLevel;
15
15
#else
@@ -19,7 +19,7 @@ using LlvmOptLevel = llvm::PassBuilder::OptimizationLevel;
19
19
enum class OptimizationLevel { kO0 , kO1 , kO2 , kO3 , kOs , kOz };
20
20
21
21
auto getFFIOptimizationLevel (LlvmOptLevel Opt) -> OptimizationLevel {
22
- #ifdef LLVM10_0
22
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR == 10)
23
23
if (Opt == LlvmOptLevel::O0) {
24
24
return OptimizationLevel::kO0 ;
25
25
}
@@ -39,7 +39,7 @@ auto getFFIOptimizationLevel(LlvmOptLevel Opt) -> OptimizationLevel {
39
39
// Starting from LLVM-11, llvm::OptimizationLevel::Ox is no longer
40
40
// an enum but a global static. Using these global statics on Windows
41
41
// would not compile, because an LLVM plugin links to opt.exe. The
42
- // later doesn't export such symbols.
42
+ // latter doesn't export such symbols.
43
43
if (Opt.getSpeedupLevel () == 0 && Opt.getSizeLevel () == 0 ) {
44
44
return OptimizationLevel::kO0 ;
45
45
}
@@ -87,7 +87,7 @@ auto functionAnalysisManagerRegisterPass(
87
87
});
88
88
}
89
89
90
- #if defined(LLVM15_0) || defined(LLVM16_0 )
90
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 15 )
91
91
auto passBuilderAddFullLinkTimeOptimizationLastEPCallback (
92
92
llvm::PassBuilder &Builder, const void *DataPtr,
93
93
void (*Deleter)(const void *),
@@ -104,7 +104,7 @@ auto passBuilderAddFullLinkTimeOptimizationLastEPCallback(
104
104
}
105
105
#endif
106
106
107
- #if defined(LLVM15_0) || defined(LLVM16_0 )
107
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 15 )
108
108
auto passBuilderAddFullLinkTimeOptimizationEarlyEPCallback (
109
109
llvm::PassBuilder &Builder, const void *DataPtr,
110
110
void (*Deleter)(const void *),
@@ -121,8 +121,7 @@ auto passBuilderAddFullLinkTimeOptimizationEarlyEPCallback(
121
121
}
122
122
#endif
123
123
124
- #ifdef LLVM10_0
125
- #else
124
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 11)
126
125
auto passBuilderAddOptimizerLastEPCallback (
127
126
llvm::PassBuilder &Builder, const void *DataPtr,
128
127
void (*Deleter)(const void *),
@@ -139,7 +138,7 @@ auto passBuilderAddOptimizerLastEPCallback(
139
138
}
140
139
#endif
141
140
142
- #if defined(LLVM15_0) || defined(LLVM16_0 )
141
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 15 )
143
142
auto passBuilderAddOptimizerEarlyEPCallback (
144
143
llvm::PassBuilder &Builder, const void *DataPtr,
145
144
void (*Deleter)(const void *),
@@ -156,8 +155,7 @@ auto passBuilderAddOptimizerEarlyEPCallback(
156
155
}
157
156
#endif
158
157
159
- #if defined(LLVM10_0) || defined(LLVM11_0)
160
- #else
158
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 12)
161
159
auto passBuilderAddPipelineEarlySimplificationEPCallback (
162
160
llvm::PassBuilder &Builder, const void *DataPtr,
163
161
void (*Deleter)(const void *),
@@ -174,8 +172,7 @@ auto passBuilderAddPipelineEarlySimplificationEPCallback(
174
172
}
175
173
#endif
176
174
177
- #if defined(LLVM10_0) || defined(LLVM11_0)
178
- #else
175
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 12)
179
176
auto passBuilderAddPipelineStartEPCallback (
180
177
llvm::PassBuilder &Builder, const void *DataPtr,
181
178
void (*Deleter)(const void *),
@@ -308,15 +305,13 @@ auto functionPassManagerAddPass(llvm::FunctionPassManager &PassManager,
308
305
PassManager.addPass (Pass<FunctionIR>{Entrypoint, {PassData, Deleter}});
309
306
}
310
307
311
- #if defined(LLVM10_0) || defined(LLVM11_0)
312
- #else
308
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 12)
313
309
auto modulePassManagerIsEmpty (llvm::ModulePassManager &PassManager) -> bool {
314
310
return PassManager.isEmpty ();
315
311
}
316
312
#endif
317
313
318
- #if defined(LLVM10_0) || defined(LLVM11_0)
319
- #else
314
+ #if defined(LLVM_VERSION_MAJOR) && (LLVM_VERSION_MAJOR >= 12)
320
315
auto functionPassManagerIsEmpty (llvm::FunctionPassManager &PassManager)
321
316
-> bool {
322
317
return PassManager.isEmpty ();
0 commit comments