| Index: src/IceClFlags.h
|
| diff --git a/src/IceClFlags.h b/src/IceClFlags.h
|
| index d89186c886e3502746686a6ddad6707664b4ed44..47c7b780fac0f0db44b6967f69b9e30a378983e1 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<IceString> &getUseRestrictedRegisters() const {
|
| + return UseRestrictedRegisters;
|
| + }
|
| + void clearUseRestrictedRegisters() { UseRestrictedRegisters.clear(); }
|
| + void insertUseRestrictedRegister(const IceString &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<IceString> &getExcludedRegisters() const {
|
| + return ExcludedRegisters;
|
| + }
|
| + void clearExcludedRegisters() { ExcludedRegisters.clear(); }
|
| + void insertExcludedRegister(const IceString &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}::ExcludedRegisters;
|
| + std::unordered_set<IceString> 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<IceString> UseRestrictedRegisters;
|
| /// see anonymous_namespace{IceClFlags.cpp}::UseSandboxing
|
| bool UseSandboxing;
|
| /// see anonymous_namespace{IceClFlags.cpp}::OLevel
|
|
|