Index: src/IceTargetLowering.h |
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h |
index 0095a39d53f4625024960c84405d96e955ae4898..f35983f1846e6bf9ed43ff05a238bb470cbfd241 100644 |
--- a/src/IceTargetLowering.h |
+++ b/src/IceTargetLowering.h |
@@ -65,6 +65,9 @@ public: |
void setNext(InstList::iterator N) { Next = N; } |
void rewind(); |
void setInsertPoint(const InstList::iterator &Position) { Next = Position; } |
+ void availabilityReset(); |
+ void availabilityUpdate(); |
+ Variable *availabilityGet(Operand *Src) const; |
private: |
/// Node is the argument to Inst::updateVars(). |
@@ -85,6 +88,11 @@ private: |
InstList::iterator Begin; |
/// End is a copy of Insts.end(), used if Next needs to be advanced. |
InstList::iterator End; |
+ /// LastDest and LastSrc capture the parameters of the last "Dest=Src" simple |
+ /// assignment inserted (provided Src is a variable). This is used for simple |
+ /// availability analysis. |
+ Variable *LastDest = nullptr; |
+ Variable *LastSrc = nullptr; |
void skipDeleted(InstList::iterator &I) const; |
void advanceForward(InstList::iterator &I) const; |