aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-05-31 22:38:06 +0000
committerMatthias Braun <matze@braunis.de>2016-05-31 22:38:06 +0000
commitf9acacaa928d7ba9db900c42893c244fb19714c4 (patch)
tree7a44766e0781f8f4342fb62db6a84f38009bd976 /llvm/lib/CodeGen/CodeGen.cpp
parentcbb1d06ff2476e01a66908bcfdfa6058c5a4bfbd (diff)
downloadllvm-f9acacaa928d7ba9db900c42893c244fb19714c4.zip
llvm-f9acacaa928d7ba9db900c42893c244fb19714c4.tar.gz
llvm-f9acacaa928d7ba9db900c42893c244fb19714c4.tar.bz2
CodeGen: Refactor renameDisconnectedComponents() as a pass
Refactor LiveIntervals::renameDisconnectedComponents() to be a pass. Also change the name to "RenameIndependentSubregs": - renameDisconnectedComponents() worked on a MachineFunction at a time so it is a natural candidate for a machine function pass. - The algorithm is testable with a .mir test now. - This also fixes a problem where the lazy renaming as part of the MachineScheduler introduced IMPLICIT_DEF instructions after the number of a nodes in a region were counted leading to a mismatch. Differential Revision: http://reviews.llvm.org/D20507 llvm-svn: 271345
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
-rw-r--r--llvm/lib/CodeGen/CodeGen.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/CodeGen.cpp b/llvm/lib/CodeGen/CodeGen.cpp
index 04ea81f..dc19013 100644
--- a/llvm/lib/CodeGen/CodeGen.cpp
+++ b/llvm/lib/CodeGen/CodeGen.cpp
@@ -68,6 +68,7 @@ void llvm::initializeCodeGen(PassRegistry &Registry) {
initializePreISelIntrinsicLoweringPass(Registry);
initializeProcessImplicitDefsPass(Registry);
initializeRegisterCoalescerPass(Registry);
+ initializeRenameIndependentSubregsPass(Registry);
initializeShrinkWrapPass(Registry);
initializeSlotIndexesPass(Registry);
initializeStackColoringPass(Registry);