diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-06-08 23:44:45 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-06-08 23:44:45 +0000 |
commit | 05ec712e7f75635abbdd84dced69f4a45fe0f541 (patch) | |
tree | b4875d83d9b937cce865beb726faa7b574203874 /lib/CodeGen/RegAllocPBQP.cpp | |
parent | 6660ed5f2f51a91e34664437f0218c52e80a95b8 (diff) | |
download | external_llvm-05ec712e7f75635abbdd84dced69f4a45fe0f541.zip external_llvm-05ec712e7f75635abbdd84dced69f4a45fe0f541.tar.gz external_llvm-05ec712e7f75635abbdd84dced69f4a45fe0f541.tar.bz2 |
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.cpp | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/lib/CodeGen/RegAllocPBQP.cpp b/lib/CodeGen/RegAllocPBQP.cpp index 4f6ad5e..946d70e 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; } |