[llvm-commits] [llvm] r67540 -	/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    Dan Gohman 
    gohman at apple.com
       
    Mon Mar 23 10:39:36 PDT 2009
    
    
  
Author: djg
Date: Mon Mar 23 12:39:36 2009
New Revision: 67540
URL: http://llvm.org/viewvc/llvm-project?rev=67540&view=rev
Log:
Don't set SUnit::hasPhysRegDefs to true unless the defs are
actually have uses, which reflects the way it's used.
Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp?rev=67540&r1=67539&r2=67540&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp Mon Mar 23 12:39:36 2009
@@ -175,7 +175,10 @@
       if (N->isMachineOpcode() &&
           TII->get(N->getMachineOpcode()).getImplicitDefs()) {
         SU->hasPhysRegClobbers = true;
-        if (CountResults(N) > TII->get(N->getMachineOpcode()).getNumDefs())
+        unsigned NumUsed = CountResults(N);
+        while (NumUsed != 0 && !N->hasAnyUseOfValue(NumUsed - 1))
+          --NumUsed;    // Skip over unused values at the end.
+        if (NumUsed > TII->get(N->getMachineOpcode()).getNumDefs())
           SU->hasPhysRegDefs = true;
       }
       
    
    
More information about the llvm-commits
mailing list