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

Reply via email to