From: Dale Johannesen Date: Tue, 7 Sep 2010 18:40:41 +0000 (+0000) Subject: Allow 'o' and 'V' as constraints for output asm operands. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0f048a44b5280f5fae28b9363ed4eab618bb1083;p=clang 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 --- 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.