order
Order the passes. This function honors
DependsOn with soft and hard dependencies
ExecuteBefore with soft and hard dependencies
Return
a sorted list of passes, with passes that can be run in parallel together in a nested list.
Throws
if the passes cannot be ordered.