summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/CMakeLists.txt
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2012-01-07 03:02:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2012-01-07 03:02:36 +0000
commit00b1a3cd7e9fb9b578a39414c7048d4c23b7105a (patch)
tree385ce03c4c783d8aeac32fddf8c86a427ef82b8b /llvm/lib/CodeGen/CMakeLists.txt
parent501e3095e8c3790ac0c8cd76fb883d5337dfdc5b (diff)
downloadbcm5719-llvm-00b1a3cd7e9fb9b578a39414c7048d4c23b7105a.tar.gz
bcm5719-llvm-00b1a3cd7e9fb9b578a39414c7048d4c23b7105a.zip
Added a late machine instruction copy propagation pass. This catches
opportunities that only present themselves after late optimizations such as tail duplication .e.g. ## BB#1: movl %eax, %ecx movl %ecx, %eax ret The register allocator also leaves some of them around (due to false dep between copies from phi-elimination, etc.) This required some changes in codegen passes. Post-ra scheduler and the pseudo-instruction expansion passes have been moved after branch folding and tail merging. They were before branch folding before because it did not always update block livein's. That's fixed now. The pass change makes independently since we want to properly schedule instructions after branch folding / tail duplication. rdar://10428165 rdar://10640363 llvm-svn: 147716
Diffstat (limited to 'llvm/lib/CodeGen/CMakeLists.txt')
-rw-r--r--llvm/lib/CodeGen/CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/CMakeLists.txt b/llvm/lib/CodeGen/CMakeLists.txt
index ce9d0d4d0d6..7fa5e47f9eb 100644
--- a/llvm/lib/CodeGen/CMakeLists.txt
+++ b/llvm/lib/CodeGen/CMakeLists.txt
@@ -40,6 +40,7 @@ add_llvm_library(LLVMCodeGen
MachineBlockPlacement.cpp
MachineBranchProbabilityInfo.cpp
MachineCodeEmitter.cpp
+ MachineCopyPropagation.cpp
MachineCSE.cpp
MachineDominators.cpp
MachineFunction.cpp
OpenPOWER on IntegriCloud