; RUN: opt < %s -indvars -S | FileCheck %s
;
; This loop has multiple exits, and the value of %b1 depends on which
; exit is taken. Indvars should correctly compute the exit values.
;

target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-pc-linux-gnu"
	%struct..0anon = type <{ i8, [3 x i8] }>

define i32 @main() nounwind {
; CHECK-LABEL: @main(
; CHECK: %b.1 = phi i32 [ 2, %bb ], [ 1, %bb2 ]
entry:
	br label %bb2

bb2:		; preds = %bb, %entry
	%sdata.0 = phi i32 [ 1, %entry ], [ %ins10, %bb ]		; <i32> [#uses=2]
	%b.0 = phi i32 [ 0, %entry ], [ %t0, %bb ]		; <i32> [#uses=2]
	%tmp6 = trunc i32 %sdata.0 to i8		; <i8> [#uses=2]
	%t2 = and i8 %tmp6, 1		; <i8> [#uses=1]
	%t3 = icmp eq i8 %t2, 0		; <i1> [#uses=1]
	%t4 = xor i8 %tmp6, 1		; <i8> [#uses=1]
	%tmp8 = zext i8 %t4 to i32		; <i32> [#uses=1]
	%mask9 = and i32 %sdata.0, -256		; <i32> [#uses=1]
	%ins10 = or i32 %tmp8, %mask9		; <i32> [#uses=1]
	br i1 %t3, label %bb3, label %bb

bb:		; preds = %bb2
	%t0 = add i32 %b.0, 1		; <i32> [#uses=3]
	%t1 = icmp sgt i32 %t0, 100		; <i1> [#uses=1]
	br i1 %t1, label %bb3, label %bb2

bb3:		; preds = %bb, %bb2
	%b.1 = phi i32 [ %t0, %bb ], [ %b.0, %bb2 ]		; <i32> [#uses=1]
	%t5 = icmp eq i32 %b.1, 1		; <i1> [#uses=1]
	br i1 %t5, label %bb5, label %bb4

bb4:		; preds = %bb3
	tail call void @abort() noreturn nounwind
	unreachable

bb5:		; preds = %bb3
	ret i32 0
}

declare void @abort() noreturn nounwind
