And some options that only throw errors with the new PM.
it's explicitly for the legacy PM -> new PM migration, which has basically already happened. on discourse we've talked about how to deal with the option, and we're now trying to remove it
that extension point looks like it was specifically for loop passes, but due to the legacy PM design it's possible to add non-loop passes and have it still run like that. so perhaps not worth porting to the new PM
Some other Polly options become inaccessible using any pipeline builder: PollyACC (-polly-target), static expansion (-polly-enable-mse), polyhedral info (-polly-enable-polyhedralinfo), and JSON export (-polly-export).
-polly-target, -polly-enable-mse and -polly-enable-polyhedralinfo are experiments that are effectively unmaintained now and I think should also be removed in this patch (that is, the cl::opt options, I can remove the passes separately at some point unless someone jumps in to update them to the NPM)
I will commit a patch that makes -polly-export usable with the NPM.
do you mean impossible? I can only add loop passes at that point while Polly uses function passes.
That extension point was added to the legacy pass manager by @grosser explicitly to implement -polly-position=after-loopopt. I am not aware of any other use of it.
In any case, I never used that position and therefore fine with removing it.
That is, only the flags -polly-target and -polly-enable-polyhedralinfo remain to have no function without the legacy pass manager (other than throwing a fatal error) and should be removed with this patch.