| 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
|
|
|