Skip to content

Commit bb4b1f1

Browse files
authored
LLVM 20 update (#2902)
* LLVM 20 * clang format
1 parent f30b054 commit bb4b1f1

11 files changed

+107
-100
lines changed

libafl_cc/src/autotokens-pass.cc

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,6 @@
6363

6464
#include <iostream>
6565

66-
#define FATAL(x...) \
67-
do { \
68-
fprintf(stderr, "FATAL: " x); \
69-
exit(1); \
70-
\
71-
} while (0)
72-
7366
using namespace llvm;
7467

7568
namespace {
@@ -106,14 +99,13 @@ llvmGetPassPluginInfo() {
10699
return {LLVM_PLUGIN_API_VERSION, "AutoTokensPass", "v0.1",
107100
/* lambda to insert our pass into the pass pipeline. */
108101
[](PassBuilder &PB) {
109-
110-
#if LLVM_VERSION_MAJOR <= 13
111-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
112-
#endif
113102
PB.registerOptimizerLastEPCallback(
114-
[](ModulePassManager &MPM, OptimizationLevel OL) {
115-
MPM.addPass(AutoTokensPass());
116-
});
103+
[](ModulePassManager &MPM, OptimizationLevel OL
104+
#if LLVM_VERSION_MAJOR >= 20
105+
,
106+
ThinOrFullLTOPhase Phase
107+
#endif
108+
) { MPM.addPass(AutoTokensPass()); });
117109
}};
118110
}
119111
#else

libafl_cc/src/cmplog-instructions-pass.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,12 @@ extern "C" ::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK
9595
llvmGetPassPluginInfo() {
9696
return {LLVM_PLUGIN_API_VERSION, "CmpLogInstructions", "v0.1",
9797
[](PassBuilder &PB) {
98-
#if LLVM_VERSION_MAJOR <= 13
99-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
100-
#endif
10198
#if LLVM_VERSION_MAJOR >= 16
99+
#if LLVM_VERSION_MAJOR >= 20
100+
PB.registerPipelineStartEPCallback(
101+
#else
102102
PB.registerOptimizerEarlyEPCallback(
103+
#endif
103104
#else
104105
PB.registerOptimizerLastEPCallback(
105106
#endif

libafl_cc/src/cmplog-routines-pass.cc

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,14 @@ extern "C" ::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK
9393
llvmGetPassPluginInfo() {
9494
return {LLVM_PLUGIN_API_VERSION, "CmpLogRoutines", "v0.1",
9595
[](PassBuilder &PB) {
96-
#if LLVM_VERSION_MAJOR <= 13
97-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
98-
#endif
9996
PB.registerOptimizerLastEPCallback(
100-
[](ModulePassManager &MPM, OptimizationLevel OL) {
101-
MPM.addPass(CmpLogRoutines());
102-
});
97+
[](ModulePassManager &MPM, OptimizationLevel OL
98+
#if LLVM_VERSION_MAJOR >= 20
99+
,
100+
ThinOrFullLTOPhase Phase
101+
#endif
102+
103+
) { MPM.addPass(CmpLogRoutines()); });
103104
}};
104105
}
105106
#else

libafl_cc/src/coverage-accounting-pass.cc

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -218,13 +218,14 @@ llvmGetPassPluginInfo() {
218218
/* lambda to insert our pass into the pass pipeline. */
219219
[](PassBuilder &PB) {
220220
#if 1
221-
#if LLVM_VERSION_MAJOR <= 13
222-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
223-
#endif
224221
PB.registerOptimizerLastEPCallback(
225-
[](ModulePassManager &MPM, OptimizationLevel OL) {
226-
MPM.addPass(AFLCoverage());
227-
});
222+
[](ModulePassManager &MPM, OptimizationLevel OL
223+
#if LLVM_VERSION_MAJOR >= 20
224+
,
225+
ThinOrFullLTOPhase Phase
226+
#endif
227+
228+
) { MPM.addPass(AFLCoverage()); });
228229
/* TODO LTO registration */
229230
#else
230231
using PipelineElement = typename PassBuilder::PipelineElement;

libafl_cc/src/ctx-pass.cc

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,13 @@ llvmGetPassPluginInfo() {
113113
return {LLVM_PLUGIN_API_VERSION, "CtxPass", "v0.1",
114114
/* lambda to insert our pass into the pass pipeline. */
115115
[](PassBuilder &PB) {
116-
117-
#if LLVM_VERSION_MAJOR <= 13
118-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
116+
PB.registerOptimizerLastEPCallback([](ModulePassManager &MPM,
117+
OptimizationLevel OL
118+
#if LLVM_VERSION_MAJOR >= 20
119+
,
120+
ThinOrFullLTOPhase Phase
119121
#endif
120-
PB.registerOptimizerLastEPCallback(
121-
[](ModulePassManager &MPM, OptimizationLevel OL) {
122-
MPM.addPass(CtxPass());
123-
});
122+
) { MPM.addPass(CtxPass()); });
124123
}};
125124
}
126125
#else

libafl_cc/src/ddg-instr.cc

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
#include "llvm/Support/ScopedPrinter.h"
6262
#include "llvm/Support/raw_ostream.h"
6363
#include <llvm/Support/Debug.h>
64-
#include "llvm/Transforms/Instrumentation.h"
6564
#include "llvm/Transforms/Utils/ASanStackFrameLayout.h"
6665
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
6766
#include "llvm/Transforms/Utils/Local.h"
@@ -774,13 +773,12 @@ llvmGetPassPluginInfo() {
774773
return {LLVM_PLUGIN_API_VERSION, "DDGInstrPass", "v0.1",
775774
/* lambda to insert our pass into the pass pipeline. */
776775
[](PassBuilder &PB) {
777-
778-
#if LLVM_VERSION_MAJOR <= 13
779-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
780-
#endif
781776
PB.registerOptimizerLastEPCallback(
782-
[](ModulePassManager &MPM, OptimizationLevel OL) {
783-
MPM.addPass(DDGInstrModulePass());
784-
});
777+
[](ModulePassManager &MPM, OptimizationLevel OL
778+
#if LLVM_VERSION_MAJOR >= 20
779+
,
780+
ThinOrFullLTOPhase Phase
781+
#endif
782+
) { MPM.addPass(DDGInstrModulePass()); });
785783
}};
786784
}

libafl_cc/src/ddg-utils.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#include "llvm/Support/ScopedPrinter.h"
88
#include "llvm/Support/raw_ostream.h"
99
#include <llvm/Support/Debug.h>
10-
#include "llvm/Transforms/Instrumentation.h"
1110
#include "llvm/Transforms/Utils/ASanStackFrameLayout.h"
1211
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
1312
#include "llvm/Transforms/Utils/Local.h"

libafl_cc/src/ddg-utils.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
#include "llvm/Support/ScopedPrinter.h"
6262
#include "llvm/Support/raw_ostream.h"
6363
#include <llvm/Support/Debug.h>
64-
#include "llvm/Transforms/Instrumentation.h"
6564
#include "llvm/Transforms/Utils/ASanStackFrameLayout.h"
6665
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
6766
#include "llvm/Transforms/Utils/Local.h"

libafl_cc/src/dump-cfg-pass.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,14 @@ llvmGetPassPluginInfo() {
121121
return {LLVM_PLUGIN_API_VERSION, "DumpCfgPass", "v0.1",
122122
/* lambda to insert our pass into the pass pipeline. */
123123
[](PassBuilder &PB) {
124-
125-
#if LLVM_VERSION_MAJOR <= 13
126-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
127-
#endif
128124
PB.registerOptimizerLastEPCallback(
129-
[](ModulePassManager &MPM, OptimizationLevel OL) {
130-
MPM.addPass(DumpCfgPass());
131-
});
125+
[](ModulePassManager &MPM, OptimizationLevel OL
126+
#if LLVM_VERSION_MAJOR >= 20
127+
,
128+
ThinOrFullLTOPhase Phase
129+
#endif
130+
131+
) { MPM.addPass(DumpCfgPass()); });
132132
}};
133133
}
134134
#else

libafl_cc/src/function-logging.cc

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,13 @@ llvmGetPassPluginInfo() {
113113
return {LLVM_PLUGIN_API_VERSION, "FunctionLoggingPass", "v0.1",
114114
/* lambda to insert our pass into the pass pipeline. */
115115
[](PassBuilder &PB) {
116-
117-
#if LLVM_VERSION_MAJOR <= 13
118-
using OptimizationLevel = typename PassBuilder::OptimizationLevel;
119-
#endif
120116
PB.registerOptimizerLastEPCallback(
121-
[](ModulePassManager &MPM, OptimizationLevel OL) {
122-
MPM.addPass(FunctionLogging());
123-
});
117+
[](ModulePassManager &MPM, OptimizationLevel OL
118+
#if LLVM_VERSION_MAJOR >= 20
119+
,
120+
ThinOrFullLTOPhase Phase
121+
#endif
122+
) { MPM.addPass(FunctionLogging()); });
124123
}};
125124
}
126125
#else

0 commit comments

Comments
 (0)