1 ; RUN: llc < %s -mtriple=x86_64-windows-msvc | FileCheck %s
3 ; Function Attrs: noinline nounwind optnone uwtable
4 define dso_local i32 @foo() {
6 %call = call i32 @cond()
7 %tobool = icmp ne i32 %call, 0
8 br i1 %tobool, label %if.then, label %if.end
10 if.then: ; preds = %entry
14 if.end: ; preds = %entry
15 %call1 = call i32 @cond()
16 %tobool2 = icmp ne i32 %call1, 0
17 br i1 %tobool2, label %if.then3, label %if.end4
19 if.then3: ; preds = %if.end
23 if.end4: ; preds = %if.end
24 %call5 = call i32 @cond()
25 %tobool6 = icmp ne i32 %call5, 0
26 br i1 %tobool6, label %if.then7, label %if.end8
28 if.then7: ; preds = %if.end4
32 if.end8: ; preds = %if.end4
40 ; We don't need int3's between these calls to abort, since they won't confuse
43 ; CHECK-NEXT: # %if.then3
45 ; CHECK-NEXT: # %if.then7
49 declare dso_local i32 @cond()
51 declare dso_local void @abort1() noreturn
52 declare dso_local void @abort2() noreturn
53 declare dso_local void @abort3() noreturn