mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
32 lines
988 B
C++
32 lines
988 B
C++
//
|
|
// This file is distributed under the MIT License. See LICENSE.md for details.
|
|
//
|
|
|
|
#include "llvm/CodeGen/CommandFlags.h"
|
|
#include "llvm/InitializePasses.h"
|
|
#include "llvm/PassRegistry.h"
|
|
#include "llvm/Support/TargetSelect.h"
|
|
|
|
#include "revng/Support/InitRevng.h"
|
|
|
|
static std::optional<llvm::codegen::RegisterCodeGenFlags> CodegenFlags;
|
|
|
|
void revng::InitRevng::initializeLLVMLibraries() {
|
|
CodegenFlags.emplace();
|
|
llvm::InitializeNativeTarget();
|
|
llvm::InitializeNativeTargetAsmPrinter();
|
|
llvm::InitializeNativeTargetAsmParser();
|
|
|
|
auto &Registry = *llvm::PassRegistry::getPassRegistry();
|
|
llvm::initializeCore(Registry);
|
|
llvm::initializeTransformUtils(Registry);
|
|
llvm::initializeScalarOpts(Registry);
|
|
llvm::initializeVectorization(Registry);
|
|
llvm::initializeInstCombine(Registry);
|
|
llvm::initializeIPO(Registry);
|
|
llvm::initializeAnalysis(Registry);
|
|
llvm::initializeCodeGen(Registry);
|
|
llvm::initializeGlobalISel(Registry);
|
|
llvm::initializeTarget(Registry);
|
|
}
|