diff options
author | Jack Carter <jack.carter@imgtec.com> | 2013-03-04 21:33:15 +0000 |
---|---|---|
committer | Jack Carter <jack.carter@imgtec.com> | 2013-03-04 21:33:15 +0000 |
commit | 0b9675d631a33ecde9e11febea48a2c6551bfeec (patch) | |
tree | e89ab34429b1d4a6acc6c020459cb304e1ecdf59 /lib/Target | |
parent | 75d0ad42150d2446cc3bd062a93b59e9e1dc759b (diff) | |
download | external_llvm-0b9675d631a33ecde9e11febea48a2c6551bfeec.zip external_llvm-0b9675d631a33ecde9e11febea48a2c6551bfeec.tar.gz external_llvm-0b9675d631a33ecde9e11febea48a2c6551bfeec.tar.bz2 |
Mips specific inline assembler constraint 'R'
'R' An address that can be sued in a non-macro load or store.
This patch includes a positive test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176452 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/Mips/MipsISelLowering.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp index 310a82e..cbcc18c 100644 --- a/lib/Target/Mips/MipsISelLowering.cpp +++ b/lib/Target/Mips/MipsISelLowering.cpp @@ -3880,6 +3880,8 @@ getConstraintType(const std::string &Constraint) const case 'l': case 'x': return C_RegisterClass; + case 'R': + return C_Memory; } } return TargetLowering::getConstraintType(Constraint); @@ -3928,6 +3930,9 @@ MipsTargetLowering::getSingleConstraintMatchWeight( if (isa<ConstantInt>(CallOperandVal)) weight = CW_Constant; break; + case 'R': + weight = CW_Memory; + break; } return weight; } |