diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 63ad2970f48..7f632179257 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -717,8 +717,8 @@ SCEVHandle ScalarEvolution::getZeroExtendExpr(const SCEVHandle &Op,
       // that value once it has finished.
       SCEVHandle BECount = getBackedgeTakenCount(AR->getLoop());
       if (!isa<SCEVCouldNotCompute>(BECount)) {
-        // Compute the extent of AR and divide it by the step value. This is
-        // used to determine if it's safe to extend the stride value.
+        // Manually compute the final value for AR, checking for
+        // overflow at each step.
         SCEVHandle Start = AR->getStart();
         SCEVHandle Step = AR->getStepRecurrence(*this);
 
@@ -806,8 +806,8 @@ SCEVHandle ScalarEvolution::getSignExtendExpr(const SCEVHandle &Op,
       // that value once it has finished.
       SCEVHandle BECount = getBackedgeTakenCount(AR->getLoop());
       if (!isa<SCEVCouldNotCompute>(BECount)) {
-        // Compute the extent of AR and divide it by the step value. This is
-        // used to determine if it's safe to extend the stride value.
+        // Manually compute the final value for AR, checking for
+        // overflow at each step.
         SCEVHandle Start = AR->getStart();
         SCEVHandle Step = AR->getStepRecurrence(*this);