summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-12-09 21:20:46 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-12-09 21:20:46 +0000
commitff092faffb85410b0013fb70bc991bb98b5663a5 (patch)
tree940a3b079cbb20294eeada201cd85770b8f7d511 /lib
parenta0382c629093a2edd175dc256750667c296d3a43 (diff)
downloadllvm-ff092faffb85410b0013fb70bc991bb98b5663a5.tar.gz
llvm-ff092faffb85410b0013fb70bc991bb98b5663a5.tar.bz2
llvm-ff092faffb85410b0013fb70bc991bb98b5663a5.tar.xz
Remember to filter out reserved rergisters from the allocation order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121411 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/RegAllocGreedy.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/RegAllocGreedy.cpp b/lib/CodeGen/RegAllocGreedy.cpp
index eae4cccb54..3c166bac4b 100644
--- a/lib/CodeGen/RegAllocGreedy.cpp
+++ b/lib/CodeGen/RegAllocGreedy.cpp
@@ -165,7 +165,7 @@ bool RAGreedy::reassignVReg(LiveInterval &InterferingVReg,
E = TRC->allocation_order_end(*MF);
I != E; ++I) {
unsigned PhysReg = *I;
- if (PhysReg == OldPhysReg)
+ if (PhysReg == OldPhysReg || ReservedRegs.test(PhysReg))
continue;
// Instantiate a "subquery", not to be confused with the Queries array.