Currently there are limitations on where in the pass pipeline certain passes may be scheduled. E.g. see https://github.com/llvm/llvm-project/pull/156780 We should document these constraints.