diff options
author | Simon Dardis <simon.dardis@imgtec.com> | 2016-06-14 11:29:28 +0000 |
---|---|---|
committer | Simon Dardis <simon.dardis@imgtec.com> | 2016-06-14 11:29:28 +0000 |
commit | 4fbf76f7c34b1c7242340d79a0c256b0e5293346 (patch) | |
tree | 9e0b2f2281d4d38e81796b4dd72c1eb4e145318b /llvm/lib/Target/Mips/MipsSubtarget.h | |
parent | 6465008e0e36f5d592999783b569b5c0c43a680c (diff) | |
download | bcm5719-llvm-4fbf76f7c34b1c7242340d79a0c256b0e5293346.tar.gz bcm5719-llvm-4fbf76f7c34b1c7242340d79a0c256b0e5293346.zip |
[mips][atomics] Fix atomic instruction descriptions and uses.
PR27458 highlights that the MIPS backend does not have well formed
MIR for atomic operations (among other errors).
This patch adds expands and corrects the LL/SC descriptions and uses
for MIPS(64).
Reviewers: dsanders, vkalintiris
Differential Review: http://reviews.llvm.org/D19719
llvm-svn: 272655
Diffstat (limited to 'llvm/lib/Target/Mips/MipsSubtarget.h')
-rw-r--r-- | llvm/lib/Target/Mips/MipsSubtarget.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsSubtarget.h b/llvm/lib/Target/Mips/MipsSubtarget.h index 287ca674c5b..5c428849702 100644 --- a/llvm/lib/Target/Mips/MipsSubtarget.h +++ b/llvm/lib/Target/Mips/MipsSubtarget.h @@ -81,6 +81,9 @@ class MipsSubtarget : public MipsGenSubtargetInfo { // IsFP64bit - General-purpose registers are 64 bits wide bool IsGP64bit; + // IsPTR64bit - Pointers are 64 bit wide + bool IsPTR64bit; + // HasVFPU - Processor has a vector floating point unit. bool HasVFPU; @@ -223,6 +226,8 @@ public: bool isGP64bit() const { return IsGP64bit; } bool isGP32bit() const { return !IsGP64bit; } unsigned getGPRSizeInBytes() const { return isGP64bit() ? 8 : 4; } + bool isPTR64bit() const { return IsPTR64bit; } + bool isPTR32bit() const { return !IsPTR64bit; } bool isSingleFloat() const { return IsSingleFloat; } bool hasVFPU() const { return HasVFPU; } bool inMips16Mode() const { return InMips16Mode; } |