[PATCH] D137149: Use PassGate from LLVMContext if any otherwise global one
Arthur Eubanks via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 9 09:31:18 PDT 2023
aeubanks added a comment.
In D137149#4653381 <https://reviews.llvm.org/D137149#4653381>, @vchuravy wrote:
> 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
>
> In addition to @pchintalapudi's comment. Reuse of pipelines is something that we (JuliaLang) had come to expect from old PM. This is why opt had a `-run-twice` option to help flush
> out bugs that arose out of the idea that passes would only be used once. @loladiro might remember those discussions.
>
> So when we ported Julia to NewPM I didn't think twice and @pchintalapudi implemented our NewPM usage such that only the AnalysisManager
> would be created fresh.
Passes can store state that might break between runs (especially module passes since they typically only run once). I'm not saying it's impossible to reuse a pipeline, just that it's not tested, e.g. `-run-twice` isn't hooked up to the new PM. There was a discussion about this before somewhere, can't remember where. We'd need a lot more testing before we can claim to support reusing pipelines.
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