Index: src/IceRegAlloc.h |
diff --git a/src/IceRegAlloc.h b/src/IceRegAlloc.h |
index 2776f5b86c06e90b24be91d63d577dec54711eda..01c1f3c38d4635d38a5e1cc65ea81fa70492d903 100644 |
--- a/src/IceRegAlloc.h |
+++ b/src/IceRegAlloc.h |
@@ -61,7 +61,9 @@ private: |
int32_t PreferReg = Variable::NoRegister; |
bool AllowOverlap = false; |
llvm::SmallBitVector RegMask; |
+ llvm::SmallBitVector RegMaskUnfiltered; |
llvm::SmallBitVector Free; |
+ llvm::SmallBitVector FreeUnfiltered; |
llvm::SmallBitVector PrecoloredUnhandledMask; // Note: only used for dumping |
llvm::SmallVector<RegWeight, REGS_SIZE> Weights; |
}; |
@@ -98,7 +100,7 @@ private: |
void filterFreeWithPrecoloredRanges(IterationState &Iter); |
void allocatePrecoloredRegister(Variable *Cur); |
void allocatePreferredRegister(IterationState &Iter); |
- void allocateFreeRegister(IterationState &Iter); |
+ void allocateFreeRegister(IterationState &Iter, bool Filtered); |
void handleNoFreeRegisters(IterationState &Iter); |
void assignFinalRegisters(const llvm::SmallBitVector &RegMaskFull, |
const llvm::SmallBitVector &PreDefinedRegisters, |
@@ -130,6 +132,7 @@ private: |
bool FindOverlap = false; |
const bool Verbose; |
+ const bool UseReserve; |
}; |
} // end of namespace Ice |