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

Evan Cheng evan.cheng at apple.com
Tue Jan 31 22:06:43 PST 2006



Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.158 -> 1.159
---
Log message:

If a pattern's root node is a constant, its size should be 3 rather than 2.


---
Diffs of the changes:  (+4 -0)

 DAGISelEmitter.cpp |    4 ++++
 1 files changed, 4 insertions(+)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.158 llvm/utils/TableGen/DAGISelEmitter.cpp:1.159
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.158	Sun Jan 29 14:01:35 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp	Wed Feb  1 00:06:31 2006
@@ -1709,6 +1709,10 @@
          P->getExtTypeNum(0) == MVT::Flag && 
          "Not a valid pattern node to size!");
   unsigned Size = 2;  // The node itself.
+  // If the root node is a ConstantSDNode, increases its size.
+  // e.g. (set R32:$dst, 0).
+  if (P->isLeaf() && dynamic_cast<IntInit*>(P->getLeafValue()))
+    Size++;
 
   // FIXME: This is a hack to statically increase the priority of patterns
   // which maps a sub-dag to a complex pattern. e.g. favors LEA over ADD.






More information about the llvm-commits mailing list