Home | History | Annotate | Download | only in ScalarEvolution
      1 ; RUN: opt < %s -analyze -scalar-evolution \
      2 ; RUN:   -scalar-evolution-max-iterations=0 | FileCheck %s
      3 ; PR2607
      4 
      5 define i32 @_Z1aj(i32 %j) nounwind  {
      6 entry:
      7 	icmp sgt i32 0, %j		; <i1>:0 [#uses=1]
      8 	br i1 %0, label %bb.preheader, label %return
      9 
     10 bb.preheader:		; preds = %entry
     11 	br label %bb
     12 
     13 bb:		; preds = %bb, %bb.preheader
     14 	%i.01 = phi i32 [ %1, %bb ], [ 0, %bb.preheader ]		; <i32> [#uses=1]
     15 	add i32 %i.01, -1		; <i32>:1 [#uses=3]
     16 	icmp sgt i32 %1, %j		; <i1>:2 [#uses=1]
     17 	br i1 %2, label %bb, label %return.loopexit
     18 
     19 return.loopexit:		; preds = %bb
     20 	br label %return
     21 
     22 return:		; preds = %return.loopexit, %entry
     23 	%i.0.lcssa = phi i32 [ 0, %entry ], [ %1, %return.loopexit ]		; <i32> [#uses=1]
     24 	ret i32 %i.0.lcssa
     25 }
     26 
     27 ; CHECK: backedge-taken count is (-1 + (-1 * %j))
     28 
     29