Currently the pass manager is created before parsing, which requires an
assumption that the top-level operation will be builtin.module.
Delaying the creation allows for using the parsed top-level operation as
the PassManager operation instead.
A followup change will allow for parsing top-level operations other than
builtin.module.
Can you move the private section to the bottom of the class?