blob: 5e7c323641d3c4696c7e0133057c31aec8ebd0b8 [file] [log] [blame]
Eric Christophercee313d2019-04-17 04:52:47 +00001; RUN: opt < %s -ipsccp -S | FileCheck %s
2
3; CHECK-LABEL: @testf(
4; CHECK: ret i32 undef
5;
6define internal i32 @testf() {
7entry:
8 br i1 undef, label %if.then, label %if.end
9
10if.then: ; preds = %entry, %if.then
11 br label %if.end
12
13if.end: ; preds = %if.then1, %entry
14 ret i32 10
15}
16
17; CHECK-LABEL: @test1(
18; CHECK: ret i32 undef
19;
20define internal i32 @test1() {
21entry:
22 br label %if.then
23
24if.then: ; preds = %entry, %if.then
25 %call = call i32 @testf()
26 %res = icmp eq i32 %call, 10
27 br i1 %res, label %ret1, label %ret2
28
29ret1: ; preds = %if.then, %entry
30 ret i32 99
31
32ret2: ; preds = %if.then, %entry
33 ret i32 0
34}
35
36; CHECK-LABEL: @main(
37; CHECK-NEXT: %res = call i32 @test1()
38; CHECK-NEXT: ret i32 99
39;
40define i32 @main() {
41 %res = call i32 @test1()
42 ret i32 %res
43}