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

Evan Cheng evan.cheng at apple.com
Mon May 14 18:20:09 PDT 2007



Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.295 -> 1.296
---
Log message:

PredicateOperand related bug fix.

---
Diffs of the changes:  (+3 -1)

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


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.295 llvm/utils/TableGen/DAGISelEmitter.cpp:1.296
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.295	Tue May  8 16:04:07 2007
+++ llvm/utils/TableGen/DAGISelEmitter.cpp	Mon May 14 20:19:51 2007
@@ -2799,6 +2799,7 @@
       // in the 'execute always' values.  Match up the node operands to the
       // instruction operands to do this.
       std::vector<std::string> AllOps;
+      unsigned NumEAInputs = 0; // # of synthesized 'execute always' inputs.
       for (unsigned ChildNo = 0, InstOpNo = NumResults;
            InstOpNo != II.OperandList.size(); ++InstOpNo) {
         std::vector<std::string> Ops;
@@ -2821,6 +2822,7 @@
             Ops = EmitResultCode(Pred.AlwaysOps[i], RetSelected, 
                                  InFlagDecled, ResNodeDecled);
             AllOps.insert(AllOps.end(), Ops.begin(), Ops.end());
+            NumEAInputs += Ops.size();
           }
         }
       }
@@ -2899,7 +2901,7 @@
           else if (NodeHasOptInFlag)
             EndAdjust = "-(HasInFlag?1:0)"; // May have a flag.
 
-          emitCode("for (unsigned i = " + utostr(NumInputs) +
+          emitCode("for (unsigned i = " + utostr(NumInputs - NumEAInputs) +
                    ", e = N.getNumOperands()" + EndAdjust + "; i != e; ++i) {");
 
           emitCode("  AddToISelQueue(N.getOperand(i));");






More information about the llvm-commits mailing list