aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCTargetMachine.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-27 00:14:41 +0000
committerChris Lattner <sabre@nondot.org>2005-09-27 00:14:41 +0000
commit5e8d2dc19790b2262a27a67a1900ce187d661172 (patch)
tree1cb7b2957da4a23f61df8237b5c7ac8adcaecba9 /lib/Target/PowerPC/PPCTargetMachine.cpp
parent30e21a46f00e638b2fdafb394058e1e6355f4e70 (diff)
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
Diffstat (limited to 'lib/Target/PowerPC/PPCTargetMachine.cpp')
-rw-r--r--lib/Target/PowerPC/PPCTargetMachine.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp
index 1acd01de31..487f144307 100644
--- a/lib/Target/PowerPC/PPCTargetMachine.cpp
+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp
@@ -71,13 +71,15 @@ bool PowerPCTargetMachine::addPassesToEmitFile(PassManager &PM,
// 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 @@ void PowerPCJITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
// 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 @@ void PowerPCJITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
// 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());