[Mlir-commits] [clang] [flang] [lld] [llvm] [mlir] [Passes] Make PipelineTuningOptions take a LibraryOptionsContext reference (PR #237615)
Fangrui Song
llvmlistbot at llvm.org
Tue Nov 3 08:56:17 PST 2026
MaskRay wrote:
> So an alternative to the LibraryOptions dependency here would be to remove the reliance on options entirely.
> TBH I think that some of these pipeline tuning options should just be dropped. I have no idea why things like LicmMssaOptCap/LicmMssaNoAccForPromotionCap are in here at all. These seem like details that should just be normal cl::opt options. I think this might be an artifact of some people thinking that all the pass cl::opts should actually be pass options, which then also requires threading them through as pipeline tuning options. But I think with the work on LibraryOptions, this is probably not a useful view anymore, and we should not use pass options unless we actually do want to pass different options at different points in the same optimization pipeline.
I agree. #232599 added `PipelineTuningOptions(const cl::LibraryOptionsContext *);` as a makeshift for per-context library option support. The ctor should not have been added.
Regarding LicmMssaOptCap/LicmMssaNoAccForPromotionCap, these knobs that tune passes should not live in PipelineTuningOptions, but they are out of scope the my library option work.
Created #238434 to remove `PipelineTuningOptions(const cl::LibraryOptionsContext *);`. It's API-compatible with the state before the introduction of per-context library options.
https://github.com/llvm/llvm-project/pull/237615
More information about the Mlir-commits
mailing list