| Index: src/IceRegAlloc.h
|
| diff --git a/src/IceRegAlloc.h b/src/IceRegAlloc.h
|
| index f409e7a6c8b21ac798c60f1e559ed7181c5ce1e9..9b9992cdfcd443c507d0f424fd23e239a2d5145e 100644
|
| --- a/src/IceRegAlloc.h
|
| +++ b/src/IceRegAlloc.h
|
| @@ -26,12 +26,16 @@ class LinearScan {
|
| LinearScan &operator=(const LinearScan &) = delete;
|
|
|
| public:
|
| - LinearScan(Cfg *Func) : Func(Func) {}
|
| - void initForGlobalAlloc();
|
| + LinearScan(Cfg *Func)
|
| + : Func(Func), FindPreference(false), FindOverlap(false) {}
|
| + void init(RegAllocKind Kind);
|
| void scan(const llvm::SmallBitVector &RegMask);
|
| void dump(Cfg *Func) const;
|
|
|
| private:
|
| + void initForGlobal();
|
| + void initForInfOnly();
|
| +
|
| Cfg *const Func;
|
| typedef std::vector<Variable *> OrderedRanges;
|
| typedef std::list<Variable *> UnorderedRanges;
|
| @@ -41,6 +45,12 @@ private:
|
| OrderedRanges UnhandledPrecolored;
|
| UnorderedRanges Active, Inactive, Handled;
|
| std::vector<InstNumberT> Kills;
|
| + bool FindPreference;
|
| + bool FindOverlap;
|
| + // TODO(stichnot): We're not really using FindOverlap yet, but we
|
| + // may want a flavor of register allocation where FindPreference is
|
| + // useful but we didn't want to initialize VMetadata with VMK_All
|
| + // and therefore we can't safely allow overlap.
|
| };
|
|
|
| } // end of namespace Ice
|
|
|