<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58280>58280</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
opt -passes="default<O0>" -print-pipeline-passes results in bad "CoroConditionalWrapper" printout
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mikaelholmen
</td>
</tr>
</table>
<pre>
llvm commit: 66046e6e65e5
Reproduce with:```opt -passes="default<O0>" empty.ll -o /dev/null -print-pipeline-passes```
on an empty file empty.ll
Result:
```verify,always-inline,CoroConditionalWrapper,function(annotation-remarks),verify,BitcodeWriterPass```
If you then pass the above printed pipeline to opt you get
```opt: unknown module pass 'CoroConditionalWrapper'```
This is e.g. an issue when trying to use utils/reduce-pipeline.py to automatically reduce an opt pipeline.
CoroConditionalWrapper is missing in
llvm/lib/Passes/PassRegistry.def
But I don't even know what to add there since the pass looks like some kind of hack conditionally running passes in it's own pass manager:
```
CoroConditionalWrapper::CoroConditionalWrapper(ModulePassManager &&PM)
: PM(std::move(PM)) {}
PreservedAnalyses CoroConditionalWrapper::run(Module &M,
ModuleAnalysisManager &AM) {
if (!coro::declaresAnyIntrinsic(M))
return PreservedAnalyses::all();
return PM.run(M, AM);
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNVcuOozoQ_RqzsYLAAZIsWCTpaakX0bRGV5q1gSLxxNjImLT4-1uFOw_1YzTEcmK7OHVOVblS2WYqtb50vLZdpzxbbnlRJFkB-MkhZ8kTS7a_oHe2GWvgb8qf0IYVSRi293zRy2GAgS2fmBANtHLUiLP_mbDlD9zh0PV-irXmC8uZeG7ggrMZaaN3yvhFr3rQysAV6AoenFvDpQkgvFUabnhXbsPsbxuWt5cv4FQ7MbGX-k1Ow0IZcoHrvXV2b02jvLJG6t9O9j04PGhHU9MeE2tpjPWSFgsHnXTngYkNmtxAd8rXtoHfTnlwr0j7A-kwv7R8siP3JzCctNEvLit7AT4rh4ZftXNvOQWT7I_gP4jBE8rMaM7GvhneYTIwEDMkE6vvFK0-kPrvpAaOA-JjTDFVwzBiSomdd5MyRyIxDsBHrzQqfnZASb_lJ-4nspCjtx0Gp5ZaTzzYEBzRv5k-huFrfsSkQwrkV5lgyakU0bFWFc6voRzCj19wVAPSjLHCHsF3o-cvvKG0rTyHC4qhIKEs6We2TUNhd8DRExKlFMyB09aecVZnPLEd8LMyDbctP8n6jLfhRpc0jsYQzVCfyJbjTRGrgVMyZrBOGnnEmH8qw79FgKyX352J9WHOMmk_BHTMdYHj9UDFGOKFDxUGba0H3wTEDgsM18FObDhb7djq6TForw4GcBdotuhxIk1_Y4jyb3SIA-Lu7_7__QkIwaV6FLU9XGm-o6oWt9dMpDXSCiQaqLVE2lszvRiPt2dQNbEKGu90HPjRGf5JYUDBdM7AG7bcPQbk_t4hfpeLIvlM7G56C-JXl_3zHEGZFkWeFdkmE1FTLpvNciMjr7yG8l8659f9EalSy5vrsJINRkp8V0Mi9Bk7-mh0ujx538-BEM84jtjLxyrGxk837v3i4Rd6tX-gxgp_njsE3cB8LdZJdCrTPMvbTSWzFqpUJO0qlZs6y3MhqjRLCxFpWYEeSpbvWP4UqVIkQqRJmiZ5sklEXK_ksqqLOq3bZZVDxbIE-6vSMTmOrTtGbv47WlTjccBDjXd-uB-ifnU0AFd8bEUn68pOnSXok9UdmGjmXM6E_wfzcCeJ">