xref: /llvm-project/polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll (revision e1f056f692d869708c1898d9d65a69ac5584a0ed)
1; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s
2;
3; This caused an lnt crash at some point, just verify it will run through.
4;
5; CHECK-LABEL: polly.merge_new_and_old:
6; CHECK-NEXT:    br label %for.body.6
7;
8; CHECK-LABEL: for.body.6:
9; CHECK-NEXT:    %i.14 = phi i32 [ undef, %for.body.6 ], [ 0, %polly.merge_new_and_old ]
10;
11@recd = external hidden global [255 x i32], align 16
12
13define void @rsdec_204(ptr %data_in) {
14entry:
15  br i1 undef, label %if.then, label %for.body
16
17if.then:                                          ; preds = %entry
18  unreachable
19
20for.body:                                         ; preds = %for.body, %entry
21  %i.05 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
22  %0 = load i8, ptr %data_in, align 1
23  %conv = zext i8 %0 to i32
24  store i32 %conv, ptr @recd, align 4
25  %inc = add nuw nsw i32 %i.05, 1
26  br i1 false, label %for.body, label %for.body.6
27
28for.body.6:                                       ; preds = %for.body.6, %for.body
29  %i.14 = phi i32 [ undef, %for.body.6 ], [ 0, %for.body ]
30  br i1 undef, label %for.body.6, label %for.body.16
31
32for.body.16:                                      ; preds = %for.body.16, %for.body.6
33  br i1 undef, label %for.body.16, label %for.body.29
34
35for.body.29:                                      ; preds = %for.body.29, %for.body.16
36  br i1 undef, label %for.body.29, label %for.end.38
37
38for.end.38:                                       ; preds = %for.body.29
39  unreachable
40}
41