Move the post-lsr simplify cfg pass after lowereh, so it can clean up after
eh lowering as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23459 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 1acd01d..487f144 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -71,13 +71,15 @@
 
   // Run loop strength reduction before anything else.
   PM.add(createLoopStrengthReducePass());
-  PM.add(createCFGSimplificationPass());
 
   // FIXME: Implement efficient support for garbage collection intrinsics.
   PM.add(createLowerGCPass());
 
   // FIXME: Implement the invoke/unwind instructions!
   PM.add(createLowerInvokePass());
+  
+  // Clean up after other passes, e.g. merging critical edges.
+  PM.add(createCFGSimplificationPass());
 
   // FIXME: Implement the switch instruction in the instruction selector!
   PM.add(createLowerSwitchPass());
@@ -126,7 +128,6 @@
 
   // Run loop strength reduction before anything else.
   PM.add(createLoopStrengthReducePass());
-  PM.add(createCFGSimplificationPass());
 
   // FIXME: Implement efficient support for garbage collection intrinsics.
   PM.add(createLowerGCPass());
@@ -134,6 +135,9 @@
   // FIXME: Implement the invoke/unwind instructions!
   PM.add(createLowerInvokePass());
 
+  // Clean up after other passes, e.g. merging critical edges.
+  PM.add(createCFGSimplificationPass());
+
   // FIXME: Implement the switch instruction in the instruction selector!
   PM.add(createLowerSwitchPass());