In addition to the existing textual representation, offer the ability to use a YAML file to provide pass schedule specification.
Using a standard format for which LLVM has a parser would make integration with other tools easier.
One could also envision a world were -On configuration would be stored as .yml file within llvm, and a world where clang would load a custom config from a user-provided config file.
As a side effect, if the temporary schedule structure were saved has a class member, we could dump it back for free.