summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsSubtarget.h
diff options
context:
space:
mode:
authorSimon Dardis <simon.dardis@imgtec.com>2016-06-14 11:29:28 +0000
committerSimon Dardis <simon.dardis@imgtec.com>2016-06-14 11:29:28 +0000
commit4fbf76f7c34b1c7242340d79a0c256b0e5293346 (patch)
tree9e0b2f2281d4d38e81796b4dd72c1eb4e145318b /llvm/lib/Target/Mips/MipsSubtarget.h
parent6465008e0e36f5d592999783b569b5c0c43a680c (diff)
downloadbcm5719-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.h5
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; }
OpenPOWER on IntegriCloud