[llvm-commits] CVS: llvm/utils/TableGen/CodeGenTarget.cpp

Chris Lattner sabre at nondot.org
Mon Nov 6 17:28:09 PST 2006



Changes in directory llvm/utils/TableGen:

CodeGenTarget.cpp updated: 1.75 -> 1.76
---
Log message:

emit TIED_TO correctly


---
Diffs of the changes:  (+2 -2)

 CodeGenTarget.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


Index: llvm/utils/TableGen/CodeGenTarget.cpp
diff -u llvm/utils/TableGen/CodeGenTarget.cpp:1.75 llvm/utils/TableGen/CodeGenTarget.cpp:1.76
--- llvm/utils/TableGen/CodeGenTarget.cpp:1.75	Mon Nov  6 17:49:51 2006
+++ llvm/utils/TableGen/CodeGenTarget.cpp	Mon Nov  6 19:27:55 2006
@@ -297,7 +297,7 @@
     throw "Illegal tied-to operand constraint '" + CStr + "'";
   
   // Build the string.
-  return "((" + utostr(TIdx) + " << 16) | TargetInstrInfo::TIED_TO)";
+  return "((" + utostr(TIdx) + " << 16) | (1 << TargetInstrInfo::TIED_TO))";
 }
 
 static void ParseConstraints(const std::string &CStr, CodeGenInstruction *I) {
@@ -408,7 +408,7 @@
   // For backward compatibility: isTwoAddress means operand 1 is tied to
   // operand 0.
   if (isTwoAddress && OperandList[1].Constraint.empty())
-    OperandList[1].Constraint = "((0 << 16) | TargetInstrInfo::TIED_TO)";
+    OperandList[1].Constraint = "((0 << 16) | (1 << TargetInstrInfo::TIED_TO))";
   
   // Any operands with unset constraints get 0 as their constraint.
   for (unsigned op = 0, e = OperandList.size(); op != e; ++op)






More information about the llvm-commits mailing list