[llvm-commits] [llvm] r139130 - in /llvm/trunk: lib/Analysis/ScalarEvolution.cpp test/Analysis/ScalarEvolution/max-trip-count.ll
Nick Lewycky
nicholas at mxc.ca
Mon Sep 5 19:43:13 PDT 2011
Author: nicholas
Date: Mon Sep 5 21:43:13 2011
New Revision: 139130
URL: http://llvm.org/viewvc/llvm-project?rev=139130&view=rev
Log:
Revert r139126 due to selfhost failures reported by buildbots.
Modified:
llvm/trunk/lib/Analysis/ScalarEvolution.cpp
llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll
Modified: llvm/trunk/lib/Analysis/ScalarEvolution.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/ScalarEvolution.cpp?rev=139130&r1=139129&r2=139130&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/ScalarEvolution.cpp (original)
+++ llvm/trunk/lib/Analysis/ScalarEvolution.cpp Mon Sep 5 21:43:13 2011
@@ -5184,12 +5184,8 @@
// Handle unitary steps, which cannot wraparound.
// 1*N = -Start; -1*N = Start (mod 2^BW), so:
// N = Distance (as unsigned)
- if (StepC->getValue()->equalsInt(1) || StepC->getValue()->isAllOnesValue()) {
- ConstantRange CR = getUnsignedRange(Start);
- const SCEV *MaxBECount = getConstant(CountDown ? CR.getUnsignedMax()
- : ~CR.getUnsignedMin());
- return ExitLimit(Distance, MaxBECount);
- }
+ if (StepC->getValue()->equalsInt(1) || StepC->getValue()->isAllOnesValue())
+ return Distance;
// If the recurrence is known not to wraparound, unsigned divide computes the
// back edge count. We know that the value will either become zero (and thus
Modified: llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll?rev=139130&r1=139129&r2=139130&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll (original)
+++ llvm/trunk/test/Analysis/ScalarEvolution/max-trip-count.ll Mon Sep 5 21:43:13 2011
@@ -70,34 +70,3 @@
}
declare i32 @printf(i8*, ...)
-
-; Before -indvars ran on this loop, SCEV solved a max loop trip count of
-; 2^31-2. Afterwards, we can only solve 2^32-1.
-
-define void @test(i8* %a, i32 %n) nounwind {
-entry:
- %cmp1 = icmp sgt i32 %n, 0
- br i1 %cmp1, label %for.body.lr.ph, label %for.end
-
-for.body.lr.ph: ; preds = %entry
- %tmp = zext i32 %n to i64
- br label %for.body
-
-for.body: ; preds = %for.body, %for.body.lr.ph
- %indvar = phi i64 [ %indvar.next, %for.body ], [ 0, %for.body.lr.ph ]
- %arrayidx = getelementptr i8* %a, i64 %indvar
- store i8 0, i8* %arrayidx, align 1
- %indvar.next = add i64 %indvar, 1
- %exitcond = icmp ne i64 %indvar.next, %tmp
- br i1 %exitcond, label %for.body, label %for.cond.for.end_crit_edge
-
-for.cond.for.end_crit_edge: ; preds = %for.body
- br label %for.end
-
-for.end: ; preds = %for.cond.for.end_crit_edge, %entry
- ret void
-}
-
-; CHECK: Determining loop execution counts for: @test
-; CHECK-NEXT: backedge-taken count is
-; CHECK-NEXT: max backedge-taken count is -1
More information about the llvm-commits
mailing list