| 
    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().