Note: This is a work-in-progress patch and I don't intend to commit it. Please ignore it if you are automatically subscribed.
This patch relies on D50302 which provides a utility for complex passes to test whether it is profitable to preserve the DominatorTree.
This patch converts the SimplifyCFG pass into preserving the DominatorTree. Combined with D50303, you can compare the performance difference by looking at the total time used by the whole DominatorTree.
From my experiment, it is not profit to preserve the DomTree in the SimplifyCFG pass, and we can further look into this issue. (Detect whether it is slow because SimplifyCFG loves to rewire a bunch of edges and make DominatorTree spend to much effort on it).