This adds a --no-implicit-module option, which disables the insertion
of a top-level builtin.module during parsing. In this mode any op may
be top-level, however it's required that there be exactly one top-level
op in the source.
parseSource{File,String} now support Operation * as the container op
type, which disables the top-level-op-insertion behaviour.
Following patches will add the same option to the other tools as well.
Depends on D133644
Can you just SFINAE the templated parseSourceFile below and handle Operation * separately from other ContainerOpT?