aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2010-09-07 18:40:41 +0000
committerDale Johannesen <dalej@apple.com>2010-09-07 18:40:41 +0000
commit0f048a44b5280f5fae28b9363ed4eab618bb1083 (patch)
treecca0adc6c3c99ddff6872d640929f075cfb713db
parent837b1a37116cf4e64f8bb7db34982dee1fba7647 (diff)
Allow 'o' and 'V' as constraints for output asm operands.
Allow '<' and '>' as constraints for input or output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113246 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Basic/TargetInfo.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/Basic/TargetInfo.cpp b/lib/Basic/TargetInfo.cpp
index 6d42883cd1..c7036bfd04 100644
--- a/lib/Basic/TargetInfo.cpp
+++ b/lib/Basic/TargetInfo.cpp
@@ -283,6 +283,10 @@ bool TargetInfo::validateOutputConstraint(ConstraintInfo &Info) const {
Info.setAllowsRegister();
break;
case 'm': // memory operand.
+ case 'o': // offsetable memory operand.
+ case 'V': // non-offsetable memory operand.
+ case '<': // autodecrement memory operand.
+ case '>': // autoincrement memory operand.
Info.setAllowsMemory();
break;
case 'g': // general register, memory operand or immediate integer.
@@ -297,7 +301,7 @@ bool TargetInfo::validateOutputConstraint(ConstraintInfo &Info) const {
Name++;
break;
case '?': // Disparage slightly code.
- case '!': // Disparage severly.
+ case '!': // Disparage severely.
break; // Pass them.
}
@@ -384,8 +388,10 @@ bool TargetInfo::validateInputConstraint(ConstraintInfo *OutputConstraints,
Info.setAllowsRegister();
break;
case 'm': // memory operand.
- case 'o': // offsettable memory operand
- case 'V': // non-offsettable memory operand
+ case 'o': // offsettable memory operand.
+ case 'V': // non-offsettable memory operand.
+ case '<': // autodecrement memory operand.
+ case '>': // autoincrement memory operand.
Info.setAllowsMemory();
break;
case 'g': // general register, memory operand or immediate integer.