• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -sccp -S | grep undef | count 1
2; PR1938
3
4define i32 @main() {
5entry:
6	br label %bb
7
8bb:
9	%indvar = phi i32 [ 0, %entry ], [ %k, %bb.backedge ]
10	%k = add i32 %indvar, 1
11	br i1 undef, label %cond_true, label %cond_false
12
13cond_true:
14	%tmp97 = icmp slt i32 %k, 10
15	br i1 %tmp97, label %bb.backedge, label %bb12
16
17bb.backedge:
18	br label %bb
19
20cond_false:
21	%tmp9 = icmp slt i32 %k, 10
22	br i1 %tmp9, label %bb.backedge, label %bb12
23
24bb12:
25	%tmp14 = icmp eq i32 %k, 10
26	br i1 %tmp14, label %cond_next18, label %cond_true17
27
28cond_true17:
29	tail call void @abort( )
30	unreachable
31
32cond_next18:
33	ret i32 0
34}
35
36declare void @abort()
37