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

Reid Spencer reid at x10sys.com
Thu Nov 2 13:07:54 PST 2006



Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.275 -> 1.276
---
Log message:

Revert last patch which causes tblgen to segfault (why, I'm not sure).


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

 DAGISelEmitter.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.275 llvm/utils/TableGen/DAGISelEmitter.cpp:1.276
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.275	Thu Nov  2 14:46:16 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp	Thu Nov  2 15:07:40 2006
@@ -2259,11 +2259,13 @@
     unsigned OpNo = 0;
     bool NodeHasChain = NodeHasProperty   (N, SDNPHasChain, ISE);
     bool HasChain     = PatternHasProperty(N, SDNPHasChain, ISE);
+    bool HasOutFlag   = PatternHasProperty(N, SDNPOutFlag,  ISE);
     bool EmittedUseCheck = false;
     if (HasChain) {
       if (NodeHasChain)
         OpNo = 1;
       if (!isRoot) {
+        const SDNodeInfo &CInfo = ISE.getSDNodeInfo(N->getOperator());
         // Multiple uses of actual result?
         emitCheck(RootName + ".hasOneUse()");
         EmittedUseCheck = true;
@@ -2327,6 +2329,7 @@
         (PatternHasProperty(N, SDNPInFlag, ISE) ||
          PatternHasProperty(N, SDNPOptInFlag, ISE) ||
          PatternHasProperty(N, SDNPOutFlag, ISE))) {
+      const SDNodeInfo &CInfo = ISE.getSDNodeInfo(N->getOperator());
       if (!EmittedUseCheck) {
         // Multiple uses of actual result?
         emitCheck(RootName + ".hasOneUse()");
@@ -3315,9 +3318,10 @@
       PatternsByOpcode[Node->getOperator()].push_back(&PatternsToMatch[i]);
     } else {
       const ComplexPattern *CP;
-      if (dynamic_cast<IntInit*>(Node->getLeafValue())) {
+      if (IntInit *II = 
+          dynamic_cast<IntInit*>(Node->getLeafValue())) {
         PatternsByOpcode[getSDNodeNamed("imm")].push_back(&PatternsToMatch[i]);
-      } else if (NodeGetComplexPattern(Node, *this)) {
+      } else if ((CP = NodeGetComplexPattern(Node, *this))) {
         std::vector<Record*> OpNodes = CP->getRootNodes();
         for (unsigned j = 0, e = OpNodes.size(); j != e; j++) {
           PatternsByOpcode[OpNodes[j]]






More information about the llvm-commits mailing list