diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
index d964658..51fe2e5 100644
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -1574,8 +1574,7 @@
     for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
       if (Visited.count(BB)) continue;
 
-      // Delete the instructions backwards, as it has a reduced likelihood of
-      // having to update as many def-use and use-def chains.
+      // Delete the instructions.
       for (BasicBlock::iterator I = BB->begin(), E = BB->end(); I != E; ) {
         Instruction *Inst = &*I++;
         if (isa<TerminatorInst>(Inst))
diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp
index 4ac5b2f..0091a3d 100644
--- a/lib/Transforms/Scalar/SCCP.cpp
+++ b/lib/Transforms/Scalar/SCCP.cpp
@@ -1686,8 +1686,7 @@
   if (isa<TerminatorInst>(BB->begin()))
     return;
 
-  // Delete the instructions backwards, as it has a reduced likelihood of
-  // having to update as many def-use and use-def chains.
+  // Delete the instructions.
   for (BasicBlock::iterator I = BB->begin(), E = BB->end(); I != E; ) {
     Instruction *Inst = &*I++;
     if (isa<TerminatorInst>(Inst))
