[PATCH] D137149: Use PassGate from LLVMContext if any otherwise global one
Prem Chintalapudi via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Oct 7 11:15:13 PDT 2023
pchintalapudi added a comment.
In D137149#4653308 <https://reviews.llvm.org/D137149#4653308>, @aeubanks wrote:
> we don't currently support reusing a pipeline so I'm surprised that you're able to share/reuse pipelines without running into any issues
The way I see it, any pipeline state that can't be reused between runs is encapsulated within either the module or the analysis managers, with the analysis managers containing derived state that's expensive to compute about the module. Under that interpretation, the optimization passes are essentially stateless, so there's no reason they can't be run on multiple IR units (and CGSCC/Function/Loop passes must deal with this fact already since there's possibly more than one present per module). I don't know how much penalty there is for requiring passes to clean up after themselves, but I can't imagine that it's a very high cost.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137149/new/
https://reviews.llvm.org/D137149
More information about the cfe-commits
mailing list