summaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorJack Carter <jack.carter@imgtec.com>2013-03-04 21:33:15 +0000
committerJack Carter <jack.carter@imgtec.com>2013-03-04 21:33:15 +0000
commit0b9675d631a33ecde9e11febea48a2c6551bfeec (patch)
treee89ab34429b1d4a6acc6c020459cb304e1ecdf59 /lib/Target
parent75d0ad42150d2446cc3bd062a93b59e9e1dc759b (diff)
downloadexternal_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.cpp5
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;
}