Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Unified Diff: src/IceRegAlloc.h

Issue 1253833002: Subzero: Cleanly implement register allocation after phi lowering. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Improve translation-time performance Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/IceOperand.cpp ('k') | src/IceRegAlloc.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceRegAlloc.h
diff --git a/src/IceRegAlloc.h b/src/IceRegAlloc.h
index 89ae715ae46aa9a12986bdcecc73ea81b2b6db40..207b2761267da17260b9dbd39be321e156f5ba39 100644
--- a/src/IceRegAlloc.h
+++ b/src/IceRegAlloc.h
@@ -39,6 +39,9 @@ private:
void initForGlobal();
void initForInfOnly();
+ /// Free up a register for infinite-weight Cur by spilling and reloading some
+ /// register that isn't used during Cur's live range.
+ void addSpillFill(Variable *Cur, llvm::SmallBitVector RegMask);
/// Move an item from the From set to the To set. From[Index] is
/// pushed onto the end of To[], then the item is efficiently removed
/// from From[] by effectively swapping it with the last item in
@@ -58,12 +61,9 @@ private:
OrderedRanges UnhandledPrecolored;
UnorderedRanges Active, Inactive, Handled;
std::vector<InstNumberT> Kills;
+ RegAllocKind Kind = RAK_Unknown;
bool FindPreference = false;
bool FindOverlap = false;
- // 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
« no previous file with comments | « src/IceOperand.cpp ('k') | src/IceRegAlloc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698