[llvm] [CodeGen][NewPM] Handle `--regalloc-npm` option (PR #94748)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 10 11:10:35 PDT 2024
================
@@ -582,12 +583,28 @@ class PassBuilder {
/// Register callbacks to parse target specific filter field if regalloc pass
/// needs it. E.g. AMDGPU requires regalloc passes can handle sgpr and vgpr
- /// separately.
+ /// separately. Currently "all" and "none" are preserved filter name.
void registerRegClassFilterParsingCallback(
const std::function<RegClassFilterFunc(StringRef)> &C) {
RegClassFilterParsingCallbacks.push_back(C);
}
+ /// Parse command line option `--regalloc-npm`
+ /// Should only be called by CodeGenPassBuilder.
+ Error parseRegAllocOpt(StringRef Text);
+
+ /// Target hook to set default regalloc.
+ void setDefaultRegAllocBuilder(
+ const std::function<void(StringMap<MachineFunctionPassManager> &)> &C) {
+ DefaultRegAllocBuilder = C;
+ }
+
+ /// Used by CodeGenPassBuilder to add correct regalloc pass.
+ /// Should only be called by CodeGenPassBuilder.
+ StringMap<MachineFunctionPassManager> &getRegAllocMap() {
----------------
aeubanks wrote:
it seems very roundabout to use a map that creates a MachineFunctionPassManager. can this instead be a callback that takes a MachineFunctionPassManager and adds a regalloc pass to it? like the optimization pipeline callbacks
https://github.com/llvm/llvm-project/pull/94748
More information about the llvm-commits
mailing list