Index: src/IceRegAlloc.cpp |
diff --git a/src/IceRegAlloc.cpp b/src/IceRegAlloc.cpp |
index 10a02a3ee381dfd44c8574a75e16b735f3c56cf3..ce08c6a83c23cf9a9a5e1485a8c60e8591b16040 100644 |
--- a/src/IceRegAlloc.cpp |
+++ b/src/IceRegAlloc.cpp |
@@ -233,6 +233,7 @@ void LinearScan::scan(const llvm::SmallBitVector &RegMaskFull) { |
: Variable::NoRegister; |
bool AllowedToOverlap = Cur.Var->getRegisterOverlap() && |
PreferReg != Variable::NoRegister && |
+ RegMask[PreferReg] && |
!PrecoloredUnhandled[PreferReg]; |
if (PreferReg != Variable::NoRegister && |
(AllowedToOverlap || Free[PreferReg])) { |