Home | History | Annotate | Download | only in LCSSA
      1 ; RUN: opt < %s -lcssa -S | \
      2 ; RUN:   grep {X3.lcssa = phi i32}
      3 ; RUN: opt < %s -lcssa -S | \
      4 ; RUN:   grep {X4 = add i32 3, %X3.lcssa}
      5 
      6 define void @lcssa(i1 %S2) {
      7 entry:
      8 	br label %loop.interior
      9 loop.interior:		; preds = %post.if, %entry
     10 	br i1 %S2, label %if.true, label %if.false
     11 if.true:		; preds = %loop.interior
     12 	%X1 = add i32 0, 0		; <i32> [#uses=1]
     13 	br label %post.if
     14 if.false:		; preds = %loop.interior
     15 	%X2 = add i32 0, 1		; <i32> [#uses=1]
     16 	br label %post.if
     17 post.if:		; preds = %if.false, %if.true
     18 	%X3 = phi i32 [ %X1, %if.true ], [ %X2, %if.false ]		; <i32> [#uses=1]
     19 	br i1 %S2, label %loop.exit, label %loop.interior
     20 loop.exit:		; preds = %post.if
     21 	%X4 = add i32 3, %X3		; <i32> [#uses=0]
     22 	ret void
     23 }
     24 
     25