Conversions with Multiple Target Dialects

Wow, this discussion has evolved far beyond my problem. Thank you for your thoughts on this.

I never wanted to lower Shape to SCF to standard in one conversion. The goal was always to convert Shape to a mixture of Standard and SCF. There are, however, some patterns that need no SCF at all and I was wondering if that is good enough reason to separate the passes ShapeToSCF(andStd) and ShapeToStd.

I guess the outcome of this discussion is that it would be useful to merge the two conversions .../Conversion/ShapeToStandard and .../conversion/ShapeToSCF because they are not really useful individually. As for the name, ShapeToStd would do (with SCF as an auxiliary dialect) but we could make it more explicit by calling it ShapeToStdAndSCF.

As for building pipelines, that can always happen on top if one encounters a common combination of passes. I do not really see the need here as the tests expect a mix of SCF and Std.

Like @jpienaar expected, there is no need to do anything simultaneously here. We are happy with multiple subsequent passes, it was just the situation in which we encountered the unexpected conversion failure.