diff options
Diffstat (limited to 'lib/Target/AArch64/AArch64Subtarget.h')
-rw-r--r-- | lib/Target/AArch64/AArch64Subtarget.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/Target/AArch64/AArch64Subtarget.h b/lib/Target/AArch64/AArch64Subtarget.h index 5af4c0dd9c1..a85d7fcb594 100644 --- a/lib/Target/AArch64/AArch64Subtarget.h +++ b/lib/Target/AArch64/AArch64Subtarget.h @@ -137,11 +137,8 @@ protected: unsigned MaxJumpTableSize = 0; unsigned WideningBaseCost = 0; - // ReserveX18 - X18 is not available as a general purpose register. - bool ReserveX18; - - // ReserveX20 - X20 is not available as a general purpose register. - bool ReserveX20 = false; + // ReserveXRegister[i] - X#i is not available as a general purpose register. + BitVector ReserveXRegister; bool IsLittle; @@ -228,8 +225,8 @@ public: return MinVectorRegisterBitWidth; } - bool isX18Reserved() const { return ReserveX18; } - bool isX20Reserved() const { return ReserveX20; } + bool isXRegisterReserved(size_t i) const { return ReserveXRegister[i]; } + unsigned getNumXRegisterReserved() const { return ReserveXRegister.count(); } bool hasFPARMv8() const { return HasFPARMv8; } bool hasNEON() const { return HasNEON; } bool hasCrypto() const { return HasCrypto; } |