6a4722188f
Currently, compiler pipelines are heavily couples with NamedCompilerPhase. Unfortunately, NamedCompilerPhase uses the same type for Input and Output, thus it is not applicable to phases that try to transform some data purely. Thus, we separate this class into two, allowing to have a new inheritor of NamedCompilerPhase with different Input and Output types.