Issue 94141
Summary [NewPM][CodeGen] Enable new pass manager codegen pipeline for BPF
Labels backend:BPF, llvm:codegen
Assignees
Reporter paperchalice
    We should enable a constrained `O0` pipeline to generate object file ASAP. Although how to build codegen pipeline is still controversial (#89708), we still can port the rest machine function passes to generate object file.

BPF might be the simplest target in non-experimental targets, this might be a good place to start, but tests in BPF check only  asm code, this is bad for testing.

CC @aeubanks 

---
TODO list:
- [ ] BPF `CodeGenPassBuilder` support
- [ ] BPF DAG->DAG Pattern Instruction Selection `bpf-isel`
- [ ] Finalize ISel and expand pseudo-instructions `finalize-isel`
- [ ] Local Stack Slot Allocation `local-stack-alloc`
- [ ] Register allocation
   - [ ] Eliminate PHI nodes for register allocation `phi-node-elimination`
   - [ ] Two-Address instruction pass `two-address-instruction`
   - [ ] Fast Register Allocator `reg-alloc<fast>`
- [ ] Fixup Statepoint Caller Saved `fixup-statepoint-caller-saved`
- [ ] Prologue/Epilogue Insertion & Frame Finalization `prolog-epilog`
- [ ] Post-RA pseudo instruction expansion pass `post-ra-pseudos`
- [ ] BPF PreEmit Checking `bpf-mi-checking`
- [ ] Assembly Printer `asm-printer`
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to