[mlir][LLVM] `LLVMTypeConverter`: Tighten materialization checks (#116532)
[llvm-project.git] / llvm / test / Transforms / LoopDeletion / 2008-05-06-Phi.ll
blobc96af55eca36fc1eda12c88704a87a60f52bbc59
1 ; RUN: opt < %s -passes='cgscc(inline),function(instcombine,jump-threading,loop-mssa(licm),simple-loop-unswitch,instcombine,indvars,loop-deletion,gvn,simplifycfg),verify' -simplifycfg-require-and-preserve-domtree=1 -disable-output
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
4 target triple = "i386-apple-darwin9"
5         %struct.BF_BitstreamElement = type { i32, i16 }
6         %struct.BF_BitstreamPart = type { i32, ptr }
7         %struct.BF_PartHolder = type { i32, ptr }
8         %struct.Bit_stream_struc = type { ptr, i32, ptr, ptr, i32, i32, i32, i32 }
9         %struct.FILE = type { ptr, i32, i32, i16, i16, %struct.__sbuf, i32, ptr, ptr, ptr, ptr, ptr, %struct.__sbuf, ptr, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
10         %struct.III_scalefac_t = type { [22 x i32], [13 x [3 x i32]] }
11         %struct.III_side_info_t = type { i32, i32, i32, [2 x [4 x i32]], [2 x %struct.anon] }
12         %struct.__sFILEX = type opaque
13         %struct.__sbuf = type { ptr, i32 }
14         %struct.anon = type { [2 x %struct.gr_info_ss] }
15         %struct.gr_info = type { i32, i32, i32, i32, i32, i32, i32, i32, [3 x i32], [3 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, [4 x i32] }
16         %struct.gr_info_ss = type { %struct.gr_info }
17         %struct.lame_global_flags = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr, ptr, i32, i32, float, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, i32, i32, i32, float, float, float, float, i32, i32, i32, i32, i32, i32, i32, i32 }
18 @scaleFactorsPH = external global [2 x [2 x ptr]]               ; <ptr> [#uses=1]
19 @slen1_tab = external constant [16 x i32]               ; <ptr> [#uses=1]
21 declare ptr @BF_addElement(ptr, ptr) nounwind
23 define ptr @BF_addEntry(ptr %thePH, i32 %value, i32 %length) nounwind  {
24 entry:
25         %myElement = alloca %struct.BF_BitstreamElement         ; <ptr> [#uses=2]
26         %tmp1 = getelementptr %struct.BF_BitstreamElement, ptr %myElement, i32 0, i32 0         ; <ptr> [#uses=1]
27         store i32 %value, ptr %tmp1, align 8
28         %tmp7 = icmp eq i32 %length, 0          ; <i1> [#uses=1]
29         br i1 %tmp7, label %bb13, label %bb
31 bb:             ; preds = %entry
32         %tmp10 = call ptr @BF_addElement( ptr %thePH, ptr %myElement ) nounwind                 ; <ptr> [#uses=1]
33         ret ptr %tmp10
35 bb13:           ; preds = %entry
36         ret ptr %thePH
39 define void @III_format_bitstream(ptr %gfp, i32 %bitsPerFrame, ptr %l3_enc, ptr %l3_side, ptr %scalefac, ptr %in_bs) nounwind  {
40 entry:
41         call fastcc void @encodeMainData( ptr %gfp, ptr %l3_enc, ptr %l3_side, ptr %scalefac ) nounwind
42         unreachable
45 define internal fastcc void @encodeMainData(ptr %gfp, ptr %l3_enc, ptr %si, ptr %scalefac) nounwind  {
46 entry:
47         %tmp69 = getelementptr %struct.lame_global_flags, ptr %gfp, i32 0, i32 43               ; <ptr> [#uses=1]
48         %tmp70 = load i32, ptr %tmp69, align 4          ; <i32> [#uses=1]
49         %tmp71 = icmp eq i32 %tmp70, 1          ; <i1> [#uses=1]
50         br i1 %tmp71, label %bb352, label %bb498
52 bb113:          ; preds = %bb132
53         %tmp123 = getelementptr [2 x %struct.III_scalefac_t], ptr %scalefac, i32 0, i32 0, i32 1, i32 %sfb.0, i32 %window.0             ; <ptr> [#uses=1]
54         %tmp124 = load i32, ptr %tmp123, align 4                ; <i32> [#uses=1]
55         %tmp126 = load ptr, ptr %tmp80, align 4         ; <ptr> [#uses=1]
56         %tmp128 = call ptr @BF_addEntry( ptr %tmp126, i32 %tmp124, i32 %tmp93 ) nounwind                ; <ptr> [#uses=1]
57         store ptr %tmp128, ptr %tmp80, align 4
58         %tmp131 = add i32 %window.0, 1          ; <i32> [#uses=1]
59         br label %bb132
61 bb132:          ; preds = %bb140, %bb113
62         %window.0 = phi i32 [ %tmp131, %bb113 ], [ 0, %bb140 ]          ; <i32> [#uses=3]
63         %tmp134 = icmp slt i32 %window.0, 3             ; <i1> [#uses=1]
64         br i1 %tmp134, label %bb113, label %bb137
66 bb137:          ; preds = %bb132
67         %tmp139 = add i32 %sfb.0, 1             ; <i32> [#uses=1]
68         br label %bb140
70 bb140:          ; preds = %bb341, %bb137
71         %sfb.0 = phi i32 [ %tmp139, %bb137 ], [ 0, %bb341 ]             ; <i32> [#uses=3]
72         %tmp142 = icmp slt i32 %sfb.0, 6                ; <i1> [#uses=1]
73         br i1 %tmp142, label %bb132, label %bb174
75 bb166:          ; preds = %bb174
76         %tmp160 = load ptr, ptr %tmp80, align 4         ; <ptr> [#uses=1]
77         %tmp162 = call ptr @BF_addEntry( ptr %tmp160, i32 0, i32 0 ) nounwind           ; <ptr> [#uses=0]
78         unreachable
80 bb174:          ; preds = %bb140
81         %tmp176 = icmp slt i32 6, 12            ; <i1> [#uses=1]
82         br i1 %tmp176, label %bb166, label %bb341
84 bb341:          ; preds = %bb352, %bb174
85         %tmp80 = getelementptr [2 x [2 x ptr]], ptr @scaleFactorsPH, i32 0, i32 0, i32 0                ; <ptr> [#uses=3]
86         %tmp92 = getelementptr [16 x i32], ptr @slen1_tab, i32 0, i32 0         ; <ptr> [#uses=1]
87         %tmp93 = load i32, ptr %tmp92, align 4          ; <i32> [#uses=1]
88         br label %bb140
90 bb352:          ; preds = %entry
91         %tmp354 = icmp slt i32 0, 2             ; <i1> [#uses=1]
92         br i1 %tmp354, label %bb341, label %return
94 bb498:          ; preds = %entry
95         ret void
97 return:         ; preds = %bb352
98         ret void
101 define void @getframebits(ptr %gfp, ptr %bitsPerFrame, ptr %mean_bits) nounwind  {
102 entry:
103         unreachable
106 define i32 @lame_encode_buffer(ptr %gfp, ptr %buffer_l, ptr %buffer_r, i32 %nsamples, ptr %mp3buf, i32 %mp3buf_size) nounwind  {
107 entry:
108         unreachable