Index: src/IceClFlags.h |
diff --git a/src/IceClFlags.h b/src/IceClFlags.h |
index d89186c886e3502746686a6ddad6707664b4ed44..1fb2ee9f044a557fc60ece5f1897bfb924e080f3 100644 |
--- a/src/IceClFlags.h |
+++ b/src/IceClFlags.h |
@@ -115,6 +115,16 @@ public: |
/// Set ClFlags::EnableBlockProfile to a new value |
void setEnableBlockProfile(bool NewValue) { EnableBlockProfile = NewValue; } |
+ /// Get the restricted list of registers to use, for corresponding register |
+ /// classes, in register allocation. |
+ const std::unordered_set<std::string> &getUseRestrictedRegisters() const { |
+ return UseRestrictedRegisters; |
+ } |
+ void clearUseRestrictedRegisters() { UseRestrictedRegisters.clear(); } |
+ void insertUseRestrictedRegister(const std::string &Str) { |
+ UseRestrictedRegisters.insert(Str); |
+ } |
+ |
/// Get the value of ClFlags::ForceMemIntrinOpt |
bool getForceMemIntrinOpt() const { return ForceMemIntrinOpt; } |
/// Set ClFlags::ForceMemIntrinOpt to a new value |
@@ -186,6 +196,15 @@ public: |
/// Set ClFlags::UseNonsfi to a new value |
void setUseNonsfi(bool NewValue) { UseNonsfi = NewValue; } |
+ /// Get the list of registers exluded in register allocation. |
+ const std::unordered_set<std::string> &getExcludedRegisters() const { |
+ return ExcludedRegisters; |
+ } |
+ void clearExcludedRegisters() { ExcludedRegisters.clear(); } |
+ void insertExcludedRegister(const std::string &Str) { |
+ ExcludedRegisters.insert(Str); |
+ } |
+ |
/// Get the value of ClFlags::UseSandboxing |
bool getUseSandboxing() const { return UseSandboxing; } |
/// Set ClFlags::UseSandboxing to a new value |
@@ -390,6 +409,8 @@ private: |
bool DumpStats; |
/// see anonymous_namespace{IceClFlags.cpp}::EnableBlockProfile |
bool EnableBlockProfile; |
+ /// see anonymous_namespace{IceClFlags.cpp}::UxcludedRegisters; |
Jim Stichnoth
2016/01/10 16:51:25
ExcludedRegisters
Karl
2016/01/12 23:44:04
Done.
|
+ std::unordered_set<std::string> ExcludedRegisters; |
/// see anonymous_namespace{IceClFlags.cpp}::ForceMemIntrinOpt |
bool ForceMemIntrinOpt; |
/// see anonymous_namespace{IceClFlags.cpp}::FunctionSections |
@@ -422,6 +443,8 @@ private: |
bool TimeEachFunction; |
/// see anonymous_namespace{IceClFlags.cpp}::UseNonsfi |
bool UseNonsfi; |
+ /// see anonymous_namespace{IceClFlags.cpp}::UseRegistrictedRegisters; |
+ std::unordered_set<std::string> UseRestrictedRegisters; |
/// see anonymous_namespace{IceClFlags.cpp}::UseSandboxing |
bool UseSandboxing; |
/// see anonymous_namespace{IceClFlags.cpp}::OLevel |