summaryrefslogtreecommitdiff
path: root/llvm/lib/Target/BPF/BPFTargetMachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/BPF/BPFTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/BPF/BPFTargetMachine.cpp25
1 files changed, 8 insertions, 17 deletions
diff --git a/llvm/lib/Target/BPF/BPFTargetMachine.cpp b/llvm/lib/Target/BPF/BPFTargetMachine.cpp
index 5f26bec2e390..a7bed69b0f2a 100644
--- a/llvm/lib/Target/BPF/BPFTargetMachine.cpp
+++ b/llvm/lib/Target/BPF/BPFTargetMachine.cpp
@@ -108,25 +108,16 @@ TargetPassConfig *BPFTargetMachine::createPassConfig(PassManagerBase &PM) {
return new BPFPassConfig(*this, PM);
}
+static Expected<bool> parseBPFPreserveStaticOffsetOptions(StringRef Params) {
+ return PassBuilder::parseSinglePassOption(Params, "allow-partial",
+ "BPFPreserveStaticOffsetPass");
+}
+
void BPFTargetMachine::registerPassBuilderCallbacks(
PassBuilder &PB, bool PopulateClassToPassNames) {
- PB.registerPipelineParsingCallback(
- [](StringRef PassName, FunctionPassManager &FPM,
- ArrayRef<PassBuilder::PipelineElement>) {
- if (PassName == "bpf-ir-peephole") {
- FPM.addPass(BPFIRPeepholePass());
- return true;
- }
- if (PassName == "bpf-preserve-static-offset") {
- FPM.addPass(BPFPreserveStaticOffsetPass(false));
- return true;
- }
- if (PassName == "bpf-aspace-simplify") {
- FPM.addPass(BPFASpaceCastSimplifyPass());
- return true;
- }
- return false;
- });
+#define GET_PASS_REGISTRY "BPFPassRegistry.def"
+#include "llvm/Passes/TargetPassRegistry.inc"
+
PB.registerPipelineStartEPCallback(
[=](ModulePassManager &MPM, OptimizationLevel) {
FunctionPassManager FPM;