diff options
author | Chris Lattner <sabre@nondot.org> | 2007-03-25 04:35:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-03-25 04:35:41 +0000 |
commit | 3d7efa25862f74ac4ba35653a419100840e54df0 (patch) | |
tree | 471df91da5677739ce13d42676a0d1e913a21cad /llvm/lib/CodeGen | |
parent | 6089146aa3819db7e001530f55aaef864f0a517b (diff) | |
download | bcm5719-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.cpp | 2 |
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. |