This revision adds support for generating utilities for passes such as options/statistics/etc. that can be inferred from the tablegen definition. This removes additional boilerplate from the pass, and also makes it easier to remove the reliance on the pass registry to provide certain things(e.g. the pass argument).
Depends On D76658
Have you looked into generating normal top-level headers (maybe even one per pass) that would put define a base class for each of the pass so you could just inherit from it?