[llvm-commits] [llvm] r59747 - /llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp

Dan Gohman gohman at apple.com
Thu Nov 20 11:58:36 PST 2008


Author: djg
Date: Thu Nov 20 13:58:35 2008
New Revision: 59747

URL: http://llvm.org/viewvc/llvm-project?rev=59747&view=rev
Log:
Treat mid-block labels the same as terminators when building the
MachineInstr scheduling DAG, meaning they implicitly depend on all
preceding defs. This fixes Benchmarks/Shootout-C++/except and
Regression/C++/EH/simple_rethrow in
  -relocation-model=pic -disable-post-RA-scheduler=false
mode.

Modified:
    llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp

Modified: llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp?rev=59747&r1=59746&r2=59747&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp (original)
+++ llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cpp Thu Nov 20 13:58:35 2008
@@ -97,7 +97,7 @@
     }
     if (Terminator && SU->Succs.empty())
       Terminator->addPred(SU, /*isCtrl=*/false, /*isSpecial=*/false);
-    if (MI->getDesc().isTerminator())
+    if (MI->getDesc().isTerminator() || MI->isLabel())
       Terminator = SU;
   }
 }





More information about the llvm-commits mailing list