summaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAllocPBQP.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-06-08 23:44:45 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-06-08 23:44:45 +0000
commit05ec712e7f75635abbdd84dced69f4a45fe0f541 (patch)
treeb4875d83d9b937cce865beb726faa7b574203874 /lib/CodeGen/RegAllocPBQP.cpp
parent6660ed5f2f51a91e34664437f0218c52e80a95b8 (diff)
downloadllvm-05ec712e7f75635abbdd84dced69f4a45fe0f541.tar.gz
llvm-05ec712e7f75635abbdd84dced69f4a45fe0f541.tar.bz2
llvm-05ec712e7f75635abbdd84dced69f4a45fe0f541.tar.xz
Reintroduce VirtRegRewriter.
OK, not really. We don't want to reintroduce the old rewriter hacks. This patch extracts virtual register rewriting as a separate pass that runs after the register allocator. This is possible now that CodeGen/Passes.cpp can configure the full optimizing register allocator pipeline. The rewriter pass uses register assignments in VirtRegMap to rewrite virtual registers to physical registers, and it inserts kill flags based on live intervals. These finalization steps are the same for the optimizing register allocators: RABasic, RAGreedy, and PBQP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158244 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegAllocPBQP.cpp')
-rw-r--r--lib/CodeGen/RegAllocPBQP.cpp8
1 files changed, 0 insertions, 8 deletions
diff --git a/lib/CodeGen/RegAllocPBQP.cpp b/lib/CodeGen/RegAllocPBQP.cpp
index 4f6ad5e0ce..946d70e32f 100644
--- a/lib/CodeGen/RegAllocPBQP.cpp
+++ b/lib/CodeGen/RegAllocPBQP.cpp
@@ -724,14 +724,6 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) {
DEBUG(dbgs() << "Post alloc VirtRegMap:\n" << *vrm << "\n");
- // Run rewriter
- vrm->rewrite(lis->getSlotIndexes());
-
- // All machine operands and other references to virtual registers have been
- // replaced. Remove the virtual registers.
- vrm->clearAllVirt();
- mri->clearVirtRegs();
-
return true;
}