Hi Dan, This is not right. You are assuming def operands must be first in the operand list. But that's not necessary the case.
Evan On Feb 15, 2008, at 12:59 PM, Dan Gohman wrote: > Author: djg > Date: Fri Feb 15 14:59:17 2008 > New Revision: 47177 > > URL: http://llvm.org/viewvc/llvm-project?rev=47177&view=rev > Log: > Skip over the defs and start at the uses when looking for operands > with the TIED_TO attribute. > > Modified: > llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp > > Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp > URL: > http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp?rev=47177&r1=47176&r2=47177&view=diff > > = > = > = > = > = > = > = > = > ====================================================================== > --- llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp > (original) > +++ llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp Fri > Feb 15 14:59:17 2008 > @@ -431,7 +431,7 @@ > SUnit *NewSU = NewSUnit(N); > SUnitMap[N].push_back(NewSU); > const TargetInstrDesc &TID = TII->get(N->getTargetOpcode()); > - for (unsigned i = 0; i != TID.getNumOperands(); ++i) { > + for (unsigned i = TID.getNumDefs(); i != TID.getNumOperands(); + > +i) { > if (TID.getOperandConstraint(i, TOI::TIED_TO) != -1) { > NewSU->isTwoAddress = true; > break; > > > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits