afl_cc fix build for LLVM 17 (#1286)

This commit is contained in:
David CARLIER 2023-05-22 11:42:56 +01:00 committed by GitHub
parent 6f21cb3848
commit 0d7d52decf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 7 deletions

View File

@ -45,7 +45,9 @@
#include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManager.h"
#endif #endif
#include "llvm/Transforms/IPO/PassManagerBuilder.h" #if LLVM_VERSION_MAJOR < 11
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#endif
#include "llvm/IR/BasicBlock.h" #include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Module.h" #include "llvm/IR/Module.h"
#include "llvm/IR/DebugInfo.h" #include "llvm/IR/DebugInfo.h"
@ -53,7 +55,6 @@
#include "llvm/IR/Verifier.h" #include "llvm/IR/Verifier.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h" #include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Analysis/LoopInfo.h" #include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/ValueTracking.h" #include "llvm/Analysis/ValueTracking.h"
@ -224,7 +225,6 @@ void dict2file(int fd, uint8_t *mem, uint32_t len) {
PreservedAnalyses AutoTokensPass::run(Module &M, ModuleAnalysisManager &MAM) { PreservedAnalyses AutoTokensPass::run(Module &M, ModuleAnalysisManager &MAM) {
#else #else
bool AutoTokensPass::runOnModule(Module &M) { bool AutoTokensPass::runOnModule(Module &M) {
#endif #endif
DenseMap<Value *, std::string *> valueMap; DenseMap<Value *, std::string *> valueMap;
@ -683,6 +683,7 @@ bool AutoTokensPass::runOnModule(Module &M) {
#if USE_NEW_PM #if USE_NEW_PM
#else #else
#if LLVM_VERSION_MAJOR < 11
static void registerAutoTokensPass(const PassManagerBuilder &, static void registerAutoTokensPass(const PassManagerBuilder &,
legacy::PassManagerBase &PM) { legacy::PassManagerBase &PM) {
PM.add(new AutoTokensPass()); PM.add(new AutoTokensPass());
@ -697,4 +698,5 @@ static RegisterStandardPasses RegisterAutoTokensPass(
static RegisterStandardPasses RegisterAutoTokensPass0( static RegisterStandardPasses RegisterAutoTokensPass0(
PassManagerBuilder::EP_EnabledOnOptLevel0, registerAutoTokensPass); PassManagerBuilder::EP_EnabledOnOptLevel0, registerAutoTokensPass);
#endif
#endif #endif

View File

@ -40,7 +40,9 @@
#include "llvm/IR/Module.h" #include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h" #include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h" #if LLVM_VERSION_MAJOR < 11
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
#endif
#include "llvm/Transforms/Utils/BasicBlockUtils.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Pass.h" #include "llvm/Pass.h"
#include "llvm/Analysis/ValueTracking.h" #include "llvm/Analysis/ValueTracking.h"
@ -142,7 +144,6 @@ class CmpLogRoutines : public ModulePass {
const char *getPassName() const override { const char *getPassName() const override {
#else #else
StringRef getPassName() const override { StringRef getPassName() const override {
#endif #endif
return "cmplog routines"; return "cmplog routines";
} }
@ -465,6 +466,7 @@ bool CmpLogRoutines::runOnModule(Module &M) {
#if USE_NEW_PM #if USE_NEW_PM
#else #else
#if LLVM_VERSION_MAJOR < 11 /* use old pass manager */
static void registerCmpLogRoutinesPass(const PassManagerBuilder &, static void registerCmpLogRoutinesPass(const PassManagerBuilder &,
legacy::PassManagerBase &PM) { legacy::PassManagerBase &PM) {
auto p = new CmpLogRoutines(); auto p = new CmpLogRoutines();
@ -477,10 +479,9 @@ static RegisterStandardPasses RegisterCmpLogRoutinesPass(
static RegisterStandardPasses RegisterCmpLogRoutinesPass0( static RegisterStandardPasses RegisterCmpLogRoutinesPass0(
PassManagerBuilder::EP_EnabledOnOptLevel0, registerCmpLogRoutinesPass); PassManagerBuilder::EP_EnabledOnOptLevel0, registerCmpLogRoutinesPass);
#if LLVM_VERSION_MAJOR >= 11
static RegisterStandardPasses RegisterCmpLogRoutinesPassLTO( static RegisterStandardPasses RegisterCmpLogRoutinesPassLTO(
PassManagerBuilder::EP_FullLinkTimeOptimizationLast, PassManagerBuilder::EP_FullLinkTimeOptimizationLast,
registerCmpLogRoutinesPass); registerCmpLogRoutinesPass);
#endif
#endif
#endif #endif