summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-03-25 04:35:41 +0000
committerChris Lattner <sabre@nondot.org>2007-03-25 04:35:41 +0000
commit3d7efa25862f74ac4ba35653a419100840e54df0 (patch)
tree471df91da5677739ce13d42676a0d1e913a21cad /llvm/lib/CodeGen
parent6089146aa3819db7e001530f55aaef864f0a517b (diff)
downloadbcm5719-llvm-3d7efa25862f74ac4ba35653a419100840e54df0.tar.gz
bcm5719-llvm-3d7efa25862f74ac4ba35653a419100840e54df0.zip
implement initial support for the silly X constraint. Testcase here: CodeGen/X86/2007-03-24-InlineAsmXConstraint.ll
llvm-svn: 35327
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index 7433a79f9f4..ee9fa67fa40 100644
--- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -1841,6 +1841,7 @@ TargetLowering::getConstraintType(const std::string &Constraint) const {
case 'i': // Simple Integer or Relocatable Constant
case 'n': // Simple Integer
case 's': // Relocatable Constant
+ case 'X': // Allow ANY value.
case 'I': // Target registers.
case 'J':
case 'K':
@@ -1870,6 +1871,7 @@ SDOperand TargetLowering::isOperandValidForConstraint(SDOperand Op,
case 'i': // Simple Integer or Relocatable Constant
case 'n': // Simple Integer
case 's': // Relocatable Constant
+ case 'X': // Allows any operand.
// These are okay if the operand is either a global variable address or a
// simple immediate value. If we have one of these, map to the TargetXXX
// version so that the value itself doesn't get selected.
OpenPOWER on IntegriCloud