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

Unified Diff: src/IceOperand.h

Issue 1411583007: Combine allocas (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Finish fast path. Created 5 years, 1 month 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/IceInstX86BaseImpl.h ('k') | src/IceTLS.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceOperand.h
diff --git a/src/IceOperand.h b/src/IceOperand.h
index 8ad78a59c3576a2475be93e01d2d7d46333f2d08..9d9f4972329f3db58599ad9e328c5235cb2099fb 100644
--- a/src/IceOperand.h
+++ b/src/IceOperand.h
@@ -509,6 +509,13 @@ public:
bool mustNotHaveReg() const {
return RegRequirement == RR_MustNotHaveRegister;
}
+ void setRematerializable(int32_t NewRegNum, int32_t NewOffset) {
+ IsRematerializable = true;
+ setRegNum(NewRegNum);
+ setStackOffset(NewOffset);
+ setMustHaveReg();
+ }
+ bool isRematerializable() const { return IsRematerializable; }
void setRegClass(uint8_t RC) { RegisterClass = static_cast<RegClass>(RC); }
RegClass getRegClass() const { return RegisterClass; }
@@ -573,6 +580,9 @@ protected:
/// and validating live ranges. This is usually reserved for the stack
/// pointer and other physical registers specifically referenced by name.
bool IgnoreLiveness = false;
+ // If IsRematerializable, RegNum keeps track of which register (stack or frame
+ // pointer), and StackOffset is the known offset from that register.
+ bool IsRematerializable = false;
RegRequirement RegRequirement = RR_MayHaveRegister;
RegClass RegisterClass;
/// RegNum is the allocated register, or NoRegister if it isn't
« no previous file with comments | « src/IceInstX86BaseImpl.h ('k') | src/IceTLS.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698