LLVM 22.0.0git
|
#include "BPFTargetMachine.h"
#include "BPF.h"
#include "BPFTargetLoweringObjectFile.h"
#include "BPFTargetTransformInfo.h"
#include "MCTargetDesc/BPFMCAsmInfo.h"
#include "TargetInfo/BPFTargetInfo.h"
#include "llvm/CodeGen/GlobalISel/IRTranslator.h"
#include "llvm/CodeGen/GlobalISel/InstructionSelect.h"
#include "llvm/CodeGen/GlobalISel/Legalizer.h"
#include "llvm/CodeGen/GlobalISel/RegBankSelect.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/PassManager.h"
#include "llvm/InitializePasses.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/SimplifyCFG.h"
#include "llvm/Transforms/Utils/SimplifyCFGOptions.h"
#include <optional>
#include "llvm/Passes/TargetPassRegistry.inc"
Go to the source code of this file.
Macros | |
#define | GET_PASS_REGISTRY "BPFPassRegistry.def" |
#define | ADD_CLASS_PASS_TO_PASS_NAME(NAME, CREATE_PASS) |
#define | ADD_CLASS_PASS_TO_PASS_NAME_WITH_PARAMS(NAME, CLASS) |
#define | MODULE_ANALYSIS(NAME, CREATE_PASS) |
#define | MODULE_PASS(NAME, CREATE_PASS) |
#define | MODULE_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_PASS(NAME, CREATE_PASS) |
#define | FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | LOOP_ANALYSIS(NAME, CREATE_PASS) |
#define | LOOP_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | ADD_PASS(NAME, CREATE_PASS) |
#define | ADD_PASS_WITH_PARAMS(NAME, CREATE_PASS, PARSER) |
#define | MODULE_PASS(NAME, CREATE_PASS) |
#define | MODULE_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | FUNCTION_PASS(NAME, CREATE_PASS) |
#define | FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | LOOP_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_PASS_WITH_PARAMS(NAME, CLASS, CREATE_PASS, PARSER, PARAMS) |
#define | MODULE_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
#define | FUNCTION_ALIAS_ANALYSIS(NAME, CREATE_PASS) |
#define | LOOP_ANALYSIS(NAME, CREATE_PASS) |
#define | MACHINE_FUNCTION_ANALYSIS(NAME, CREATE_PASS) |
Functions | |
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeBPFTarget () |
static Reloc::Model | getEffectiveRelocModel (std::optional< Reloc::Model > RM) |
static Expected< bool > | parseBPFPreserveStaticOffsetOptions (StringRef Params) |
Variables | |
static cl::opt< bool > | DisableMIPeephole ("disable-bpf-peephole", cl::Hidden, cl::desc("Disable machine peepholes for BPF")) |
static cl::opt< bool > | DisableCheckUnreachable ("bpf-disable-trap-unreachable", cl::Hidden, cl::desc("Disable Trap Unreachable for BPF")) |
#define ADD_CLASS_PASS_TO_PASS_NAME | ( | NAME, | |
CREATE_PASS ) |
#define ADD_CLASS_PASS_TO_PASS_NAME_WITH_PARAMS | ( | NAME, | |
CLASS ) |
#define ADD_PASS | ( | NAME, | |
CREATE_PASS ) |
#define ADD_PASS_WITH_PARAMS | ( | NAME, | |
CREATE_PASS, | |||
PARSER ) |
#define FUNCTION_ALIAS_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_ALIAS_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define GET_PASS_REGISTRY "BPFPassRegistry.def" |
#define LOOP_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define LOOP_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define LOOP_PASS | ( | NAME, | |
CREATE_PASS ) |
#define LOOP_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MACHINE_FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define MACHINE_FUNCTION_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define MODULE_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_ANALYSIS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_PASS | ( | NAME, | |
CREATE_PASS ) |
#define MODULE_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
#define MODULE_PASS_WITH_PARAMS | ( | NAME, | |
CLASS, | |||
CREATE_PASS, | |||
PARSER, | |||
PARAMS ) |
|
static |
Definition at line 63 of file BPFTargetMachine.cpp.
References llvm::Reloc::PIC_.
LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeBPFTarget | ( | ) |
Definition at line 46 of file BPFTargetMachine.cpp.
References llvm::PassRegistry::getPassRegistry(), llvm::getTheBPFbeTarget(), llvm::getTheBPFleTarget(), llvm::getTheBPFTarget(), llvm::initializeBPFAsmPrinterPass(), llvm::initializeBPFCheckAndAdjustIRPass(), llvm::initializeBPFDAGToDAGISelLegacyPass(), llvm::initializeBPFMIPeepholePass(), llvm::initializeBPFMIPreEmitCheckingPass(), llvm::initializeBPFMIPreEmitPeepholePass(), llvm::initializeBPFMISimplifyPatchablePass(), llvm::initializeGlobalISel(), LLVM_ABI, LLVM_EXTERNAL_VISIBILITY, X, and Y.
Definition at line 117 of file BPFTargetMachine.cpp.
References llvm::PassBuilder::parseSinglePassOption().
|
static |
Referenced by llvm::BPFTargetMachine::BPFTargetMachine().