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 @b(i32 %x, i32 %y) nounwind {
      6 entry:
      7 	%cmp2 = icmp slt i32 %y, %x
      8 	%cond3 = select i1 %cmp2, i32 %y, i32 %x
      9 	%cmp54 = icmp slt i32 %cond3, -2147483632
     10 	br i1 %cmp54, label %forinc, label %afterfor
     11 
     12 forinc:		; preds = %forinc, %entry
     13 	%j.01 = phi i32 [ %dec, %forinc ], [ -2147483632, %entry ]
     14 	%dec = add i32 %j.01, -1
     15 	%cmp = icmp slt i32 %y, %x
     16 	%cond = select i1 %cmp, i32 %y, i32 %x
     17 	%cmp5 = icmp sgt i32 %dec, %cond
     18 	br i1 %cmp5, label %forinc, label %afterfor
     19 
     20 afterfor:		; preds = %forinc, %entry
     21 	%j.0.lcssa = phi i32 [ -2147483632, %entry ], [ %dec, %forinc ]
     22 	ret i32 %j.0.lcssa
     23 }
     24 
     25 ; CHECK: backedge-taken count is (-2147483632 + ((-1 + (-1 * %{{[xy]}})) smax (-1 + (-1 * %{{[xy]}}))))
     26 
     27