~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/PowerPC/2008-09-12-CoalescerBug.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s -mtriple=powerpc-apple-darwin
 
2
 
 
3
        %struct.CGLDI = type { %struct.cgli*, i32, i32, i32, i32, i32, i8*, i32, void (%struct.CGLSI*, i32, %struct.CGLDI*)*, i8*, %struct.vv_t }
 
4
        %struct.cgli = type { i32, %struct.cgli*, void (%struct.cgli*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32)*, i32, i8*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, i8*, i32*, %struct._cgro*, %struct._cgro*, float, float, float, float, i32, i8*, float, i8*, [16 x i32] }
 
5
        %struct.CGLSI = type { %struct.cgli*, i32, i8*, i8*, i32, i32, i8*, void (%struct.cgli*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32)*, %struct.vv_t, %struct.vv_t, %struct.xx_t* }
 
6
        %struct._cgro = type opaque
 
7
        %struct.xx_t = type { [3 x %struct.vv_t], [2 x %struct.vv_t], [2 x [3 x i8*]] }
 
8
        %struct.vv_t = type { <16 x i8> }
 
9
@llvm.used = appending global [1 x i8*] [ i8* bitcast (void (%struct.CGLSI*, i32, %struct.CGLDI*)* @lb to i8*) ], section "llvm.metadata"               ; <[1 x i8*]*> [#uses=0]
 
10
 
 
11
define void @lb(%struct.CGLSI* %src, i32 %n, %struct.CGLDI* %dst) nounwind {
 
12
entry:
 
13
        %0 = load i32* null, align 4            ; <i32> [#uses=1]
 
14
        %1 = icmp sgt i32 %0, 0         ; <i1> [#uses=1]
 
15
        br i1 %1, label %bb.nph4945, label %return
 
16
 
 
17
bb.nph4945:             ; preds = %entry
 
18
        %2 = bitcast [2 x %struct.vv_t]* null to i64*           ; <i64*> [#uses=6]
 
19
        %3 = getelementptr [2 x i64]* null, i32 0, i32 1                ; <i64*> [#uses=6]
 
20
        %4 = bitcast %struct.vv_t* null to i64*         ; <i64*> [#uses=5]
 
21
        %5 = getelementptr [2 x i64]* null, i32 0, i32 1                ; <i64*> [#uses=3]
 
22
        br label %bb2326
 
23
 
 
24
bb2217:         ; preds = %bb2326
 
25
        %6 = or i64 0, 0                ; <i64> [#uses=2]
 
26
        %7 = fptosi float 0.000000e+00 to i32           ; <i32> [#uses=1]
 
27
        %8 = fptosi float 0.000000e+00 to i32           ; <i32> [#uses=1]
 
28
        %9 = getelementptr float* null, i32 2           ; <float*> [#uses=1]
 
29
        %10 = load float* %9, align 4           ; <float> [#uses=1]
 
30
        %11 = getelementptr float* null, i32 3          ; <float*> [#uses=1]
 
31
        %12 = load float* %11, align 4          ; <float> [#uses=1]
 
32
        %13 = fmul float %10, 6.553500e+04              ; <float> [#uses=1]
 
33
        %14 = fadd float %13, 5.000000e-01              ; <float> [#uses=1]
 
34
        %15 = fmul float %12, 6.553500e+04              ; <float> [#uses=1]
 
35
        %16 = fadd float %15, 5.000000e-01              ; <float> [#uses=3]
 
36
        %17 = fcmp olt float %14, 0.000000e+00          ; <i1> [#uses=0]
 
37
        %18 = fcmp olt float %16, 0.000000e+00          ; <i1> [#uses=1]
 
38
        br i1 %18, label %bb2265, label %bb2262
 
39
 
 
40
bb2262:         ; preds = %bb2217
 
41
        %19 = fcmp ogt float %16, 6.553500e+04          ; <i1> [#uses=1]
 
42
        br i1 %19, label %bb2264, label %bb2265
 
43
 
 
44
bb2264:         ; preds = %bb2262
 
45
        br label %bb2265
 
46
 
 
47
bb2265:         ; preds = %bb2264, %bb2262, %bb2217
 
48
        %f3596.0 = phi float [ 6.553500e+04, %bb2264 ], [ 0.000000e+00, %bb2217 ], [ %16, %bb2262 ]             ; <float> [#uses=1]
 
49
        %20 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
50
        %21 = fptosi float %f3596.0 to i32              ; <i32> [#uses=1]
 
51
        %22 = zext i32 %7 to i64                ; <i64> [#uses=1]
 
52
        %23 = shl i64 %22, 48           ; <i64> [#uses=1]
 
53
        %24 = zext i32 %8 to i64                ; <i64> [#uses=1]
 
54
        %25 = shl i64 %24, 32           ; <i64> [#uses=1]
 
55
        %26 = sext i32 %20 to i64               ; <i64> [#uses=1]
 
56
        %27 = shl i64 %26, 16           ; <i64> [#uses=1]
 
57
        %28 = sext i32 %21 to i64               ; <i64> [#uses=1]
 
58
        %29 = or i64 %25, %23           ; <i64> [#uses=1]
 
59
        %30 = or i64 %29, %27           ; <i64> [#uses=1]
 
60
        %31 = or i64 %30, %28           ; <i64> [#uses=2]
 
61
        %32 = shl i64 %6, 48            ; <i64> [#uses=1]
 
62
        %33 = shl i64 %31, 32           ; <i64> [#uses=1]
 
63
        %34 = and i64 %33, 281470681743360              ; <i64> [#uses=1]
 
64
        store i64 %6, i64* %2, align 16
 
65
        store i64 %31, i64* %3, align 8
 
66
        %35 = getelementptr i8* null, i32 0             ; <i8*> [#uses=1]
 
67
        %36 = bitcast i8* %35 to float*         ; <float*> [#uses=4]
 
68
        %37 = load float* %36, align 4          ; <float> [#uses=1]
 
69
        %38 = getelementptr float* %36, i32 1           ; <float*> [#uses=1]
 
70
        %39 = load float* %38, align 4          ; <float> [#uses=1]
 
71
        %40 = fmul float %37, 6.553500e+04              ; <float> [#uses=1]
 
72
        %41 = fadd float %40, 5.000000e-01              ; <float> [#uses=1]
 
73
        %42 = fmul float %39, 6.553500e+04              ; <float> [#uses=1]
 
74
        %43 = fadd float %42, 5.000000e-01              ; <float> [#uses=3]
 
75
        %44 = fcmp olt float %41, 0.000000e+00          ; <i1> [#uses=0]
 
76
        %45 = fcmp olt float %43, 0.000000e+00          ; <i1> [#uses=1]
 
77
        br i1 %45, label %bb2277, label %bb2274
 
78
 
 
79
bb2274:         ; preds = %bb2265
 
80
        %46 = fcmp ogt float %43, 6.553500e+04          ; <i1> [#uses=0]
 
81
        br label %bb2277
 
82
 
 
83
bb2277:         ; preds = %bb2274, %bb2265
 
84
        %f1582.0 = phi float [ 0.000000e+00, %bb2265 ], [ %43, %bb2274 ]                ; <float> [#uses=1]
 
85
        %47 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
86
        %48 = fptosi float %f1582.0 to i32              ; <i32> [#uses=1]
 
87
        %49 = getelementptr float* %36, i32 2           ; <float*> [#uses=1]
 
88
        %50 = load float* %49, align 4          ; <float> [#uses=1]
 
89
        %51 = getelementptr float* %36, i32 3           ; <float*> [#uses=1]
 
90
        %52 = load float* %51, align 4          ; <float> [#uses=1]
 
91
        %53 = fmul float %50, 6.553500e+04              ; <float> [#uses=1]
 
92
        %54 = fadd float %53, 5.000000e-01              ; <float> [#uses=1]
 
93
        %55 = fmul float %52, 6.553500e+04              ; <float> [#uses=1]
 
94
        %56 = fadd float %55, 5.000000e-01              ; <float> [#uses=1]
 
95
        %57 = fcmp olt float %54, 0.000000e+00          ; <i1> [#uses=0]
 
96
        %58 = fcmp olt float %56, 0.000000e+00          ; <i1> [#uses=0]
 
97
        %59 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
98
        %60 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
99
        %61 = zext i32 %47 to i64               ; <i64> [#uses=1]
 
100
        %62 = shl i64 %61, 48           ; <i64> [#uses=1]
 
101
        %63 = zext i32 %48 to i64               ; <i64> [#uses=1]
 
102
        %64 = shl i64 %63, 32           ; <i64> [#uses=1]
 
103
        %65 = sext i32 %59 to i64               ; <i64> [#uses=1]
 
104
        %66 = shl i64 %65, 16           ; <i64> [#uses=1]
 
105
        %67 = sext i32 %60 to i64               ; <i64> [#uses=1]
 
106
        %68 = or i64 %64, %62           ; <i64> [#uses=1]
 
107
        %69 = or i64 %68, %66           ; <i64> [#uses=1]
 
108
        %70 = or i64 %69, %67           ; <i64> [#uses=2]
 
109
        %71 = getelementptr i8* null, i32 0             ; <i8*> [#uses=1]
 
110
        %72 = bitcast i8* %71 to float*         ; <float*> [#uses=4]
 
111
        %73 = load float* %72, align 4          ; <float> [#uses=1]
 
112
        %74 = getelementptr float* %72, i32 1           ; <float*> [#uses=1]
 
113
        %75 = load float* %74, align 4          ; <float> [#uses=1]
 
114
        %76 = fmul float %73, 6.553500e+04              ; <float> [#uses=1]
 
115
        %77 = fadd float %76, 5.000000e-01              ; <float> [#uses=3]
 
116
        %78 = fmul float %75, 6.553500e+04              ; <float> [#uses=1]
 
117
        %79 = fadd float %78, 5.000000e-01              ; <float> [#uses=1]
 
118
        %80 = fcmp olt float %77, 0.000000e+00          ; <i1> [#uses=1]
 
119
        br i1 %80, label %bb2295, label %bb2292
 
120
 
 
121
bb2292:         ; preds = %bb2277
 
122
        %81 = fcmp ogt float %77, 6.553500e+04          ; <i1> [#uses=1]
 
123
        br i1 %81, label %bb2294, label %bb2295
 
124
 
 
125
bb2294:         ; preds = %bb2292
 
126
        br label %bb2295
 
127
 
 
128
bb2295:         ; preds = %bb2294, %bb2292, %bb2277
 
129
        %f0569.0 = phi float [ 6.553500e+04, %bb2294 ], [ 0.000000e+00, %bb2277 ], [ %77, %bb2292 ]             ; <float> [#uses=1]
 
130
        %82 = fcmp olt float %79, 0.000000e+00          ; <i1> [#uses=0]
 
131
        %83 = fptosi float %f0569.0 to i32              ; <i32> [#uses=1]
 
132
        %84 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
133
        %85 = getelementptr float* %72, i32 2           ; <float*> [#uses=1]
 
134
        %86 = load float* %85, align 4          ; <float> [#uses=1]
 
135
        %87 = getelementptr float* %72, i32 3           ; <float*> [#uses=1]
 
136
        %88 = load float* %87, align 4          ; <float> [#uses=1]
 
137
        %89 = fmul float %86, 6.553500e+04              ; <float> [#uses=1]
 
138
        %90 = fadd float %89, 5.000000e-01              ; <float> [#uses=1]
 
139
        %91 = fmul float %88, 6.553500e+04              ; <float> [#uses=1]
 
140
        %92 = fadd float %91, 5.000000e-01              ; <float> [#uses=1]
 
141
        %93 = fcmp olt float %90, 0.000000e+00          ; <i1> [#uses=0]
 
142
        %94 = fcmp olt float %92, 0.000000e+00          ; <i1> [#uses=0]
 
143
        %95 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
144
        %96 = fptosi float 0.000000e+00 to i32          ; <i32> [#uses=1]
 
145
        %97 = zext i32 %83 to i64               ; <i64> [#uses=1]
 
146
        %98 = shl i64 %97, 48           ; <i64> [#uses=1]
 
147
        %99 = zext i32 %84 to i64               ; <i64> [#uses=1]
 
148
        %100 = shl i64 %99, 32          ; <i64> [#uses=1]
 
149
        %101 = sext i32 %95 to i64              ; <i64> [#uses=1]
 
150
        %102 = shl i64 %101, 16         ; <i64> [#uses=1]
 
151
        %103 = sext i32 %96 to i64              ; <i64> [#uses=1]
 
152
        %104 = or i64 %100, %98         ; <i64> [#uses=1]
 
153
        %105 = or i64 %104, %102                ; <i64> [#uses=1]
 
154
        %106 = or i64 %105, %103                ; <i64> [#uses=2]
 
155
        %107 = shl i64 %70, 16          ; <i64> [#uses=1]
 
156
        %108 = and i64 %107, 4294901760         ; <i64> [#uses=1]
 
157
        %109 = and i64 %106, 65535              ; <i64> [#uses=1]
 
158
        %110 = or i64 %34, %32          ; <i64> [#uses=1]
 
159
        %111 = or i64 %110, %108                ; <i64> [#uses=1]
 
160
        %112 = or i64 %111, %109                ; <i64> [#uses=1]
 
161
        store i64 %70, i64* %4, align 16
 
162
        store i64 %106, i64* %5, align 8
 
163
        %113 = icmp eq i64 %112, 0              ; <i1> [#uses=1]
 
164
        br i1 %113, label %bb2325, label %bb2315
 
165
 
 
166
bb2315:         ; preds = %bb2295
 
167
        %114 = icmp eq %struct.xx_t* %159, null         ; <i1> [#uses=1]
 
168
        br i1 %114, label %bb2318, label %bb2317
 
169
 
 
170
bb2317:         ; preds = %bb2315
 
171
        %115 = load i64* %2, align 16           ; <i64> [#uses=1]
 
172
        %116 = call i32 (...)* @_u16a_cm( i64 %115, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind             ; <i32> [#uses=1]
 
173
        %117 = sext i32 %116 to i64             ; <i64> [#uses=1]
 
174
        store i64 %117, i64* %2, align 16
 
175
        %118 = load i64* %3, align 8            ; <i64> [#uses=1]
 
176
        %119 = call i32 (...)* @_u16a_cm( i64 %118, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind             ; <i32> [#uses=1]
 
177
        %120 = sext i32 %119 to i64             ; <i64> [#uses=1]
 
178
        store i64 %120, i64* %3, align 8
 
179
        %121 = load i64* %4, align 16           ; <i64> [#uses=1]
 
180
        %122 = call i32 (...)* @_u16a_cm( i64 %121, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind             ; <i32> [#uses=1]
 
181
        %123 = sext i32 %122 to i64             ; <i64> [#uses=1]
 
182
        store i64 %123, i64* %4, align 16
 
183
        %124 = load i64* %5, align 8            ; <i64> [#uses=1]
 
184
        %125 = call i32 (...)* @_u16a_cm( i64 %124, %struct.xx_t* %159, double 0.000000e+00, double 1.047551e+06 ) nounwind             ; <i32> [#uses=0]
 
185
        unreachable
 
186
 
 
187
bb2318:         ; preds = %bb2315
 
188
        %126 = getelementptr %struct.CGLSI* %src, i32 %indvar5021, i32 8                ; <%struct.vv_t*> [#uses=1]
 
189
        %127 = bitcast %struct.vv_t* %126 to i64*               ; <i64*> [#uses=1]
 
190
        %128 = load i64* %127, align 8          ; <i64> [#uses=1]
 
191
        %129 = trunc i64 %128 to i32            ; <i32> [#uses=4]
 
192
        %130 = load i64* %2, align 16           ; <i64> [#uses=1]
 
193
        %131 = call i32 (...)* @_u16_ff( i64 %130, i32 %129 ) nounwind          ; <i32> [#uses=1]
 
194
        %132 = sext i32 %131 to i64             ; <i64> [#uses=1]
 
195
        store i64 %132, i64* %2, align 16
 
196
        %133 = load i64* %3, align 8            ; <i64> [#uses=1]
 
197
        %134 = call i32 (...)* @_u16_ff( i64 %133, i32 %129 ) nounwind          ; <i32> [#uses=1]
 
198
        %135 = sext i32 %134 to i64             ; <i64> [#uses=1]
 
199
        store i64 %135, i64* %3, align 8
 
200
        %136 = load i64* %4, align 16           ; <i64> [#uses=1]
 
201
        %137 = call i32 (...)* @_u16_ff( i64 %136, i32 %129 ) nounwind          ; <i32> [#uses=1]
 
202
        %138 = sext i32 %137 to i64             ; <i64> [#uses=1]
 
203
        store i64 %138, i64* %4, align 16
 
204
        %139 = load i64* %5, align 8            ; <i64> [#uses=1]
 
205
        %140 = call i32 (...)* @_u16_ff( i64 %139, i32 %129 ) nounwind          ; <i32> [#uses=0]
 
206
        unreachable
 
207
 
 
208
bb2319:         ; preds = %bb2326
 
209
        %141 = getelementptr %struct.CGLSI* %src, i32 %indvar5021, i32 2                ; <i8**> [#uses=1]
 
210
        %142 = load i8** %141, align 4          ; <i8*> [#uses=4]
 
211
        %143 = getelementptr i8* %142, i32 0            ; <i8*> [#uses=1]
 
212
        %144 = call i32 (...)* @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %143 ) nounwind           ; <i32> [#uses=1]
 
213
        %145 = sext i32 %144 to i64             ; <i64> [#uses=2]
 
214
        %146 = getelementptr i8* %142, i32 0            ; <i8*> [#uses=1]
 
215
        %147 = call i32 (...)* @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %146 ) nounwind           ; <i32> [#uses=1]
 
216
        %148 = sext i32 %147 to i64             ; <i64> [#uses=2]
 
217
        %149 = shl i64 %145, 48         ; <i64> [#uses=0]
 
218
        %150 = shl i64 %148, 32         ; <i64> [#uses=1]
 
219
        %151 = and i64 %150, 281470681743360            ; <i64> [#uses=0]
 
220
        store i64 %145, i64* %2, align 16
 
221
        store i64 %148, i64* %3, align 8
 
222
        %152 = getelementptr i8* %142, i32 0            ; <i8*> [#uses=1]
 
223
        %153 = call i32 (...)* @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %152 ) nounwind           ; <i32> [#uses=1]
 
224
        %154 = sext i32 %153 to i64             ; <i64> [#uses=0]
 
225
        %155 = getelementptr i8* %142, i32 0            ; <i8*> [#uses=1]
 
226
        %156 = call i32 (...)* @_u16_sf32( double 0.000000e+00, double 6.553500e+04, double 5.000000e-01, i8* %155 ) nounwind           ; <i32> [#uses=0]
 
227
        unreachable
 
228
 
 
229
bb2325:         ; preds = %bb2326, %bb2295
 
230
        %indvar.next5145 = add i32 %indvar5021, 1               ; <i32> [#uses=1]
 
231
        br label %bb2326
 
232
 
 
233
bb2326:         ; preds = %bb2325, %bb.nph4945
 
234
        %indvar5021 = phi i32 [ 0, %bb.nph4945 ], [ %indvar.next5145, %bb2325 ]         ; <i32> [#uses=6]
 
235
        %157 = icmp slt i32 %indvar5021, %n             ; <i1> [#uses=0]
 
236
        %158 = getelementptr %struct.CGLSI* %src, i32 %indvar5021, i32 10               ; <%struct.xx_t**> [#uses=1]
 
237
        %159 = load %struct.xx_t** %158, align 4                ; <%struct.xx_t*> [#uses=5]
 
238
        %160 = getelementptr %struct.CGLSI* %src, i32 %indvar5021, i32 1                ; <i32*> [#uses=1]
 
239
        %161 = load i32* %160, align 4          ; <i32> [#uses=1]
 
240
        %162 = and i32 %161, 255                ; <i32> [#uses=1]
 
241
        switch i32 %162, label %bb2325 [
 
242
                 i32 59, label %bb2217
 
243
                 i32 60, label %bb2319
 
244
        ]
 
245
 
 
246
return:         ; preds = %entry
 
247
        ret void
 
248
}
 
249
 
 
250
declare i32 @_u16_ff(...)
 
251
 
 
252
declare i32 @_u16a_cm(...)
 
253
 
 
254
declare i32 @_u16_sf32(...)