~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/Generic/2003-05-28-ManyArgs.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
 
2
 
 
3
;; Date:     May 28, 2003.
 
4
;; From:     test/Programs/External/SPEC/CINT2000/175.vpr.llvm.bc
 
5
;; Function: int %main(int %argc.1, sbyte** %argv.1)
 
6
;;
 
7
;; Error:    A function call with about 56 arguments causes an assertion failure
 
8
;;           in llc because the register allocator cannot find a register
 
9
;;           not used explicitly by the call instruction.
 
10
;;
 
11
;; Cause:    Regalloc was not keeping track of free registers correctly.
 
12
;;           It was counting the registers allocated to all outgoing arguments,
 
13
;;           even though most of those are copied to the stack (so those
 
14
;;           registers are not actually used by the call instruction).
 
15
;;
 
16
;; Fixed:    By rewriting selection and allocation so that selection explicitly
 
17
;;           inserts all copy operations required for passing arguments and
 
18
;;           for the return value of a call, copying to/from registers
 
19
;;           and/or to stack locations as needed.
 
20
;;
 
21
        %struct..s_annealing_sched = type { i32, float, float, float, float }
 
22
        %struct..s_chan = type { i32, float, float, float, float }
 
23
        %struct..s_det_routing_arch = type { i32, float, float, float, i32, i32, i16, i16, i16, float, float }
 
24
        %struct..s_placer_opts = type { i32, float, i32, i32, i8*, i32, i32 }
 
25
        %struct..s_router_opts = type { float, float, float, float, float, i32, i32, i32, i32 }
 
26
        %struct..s_segment_inf = type { float, i32, i16, i16, float, float, i32, float, float }
 
27
        %struct..s_switch_inf = type { i32, float, float, float, float }
 
28
 
 
29
define i32 @main(i32 %argc.1, i8** %argv.1) {
 
30
entry:
 
31
        %net_file = alloca [300 x i8]           ; <[300 x i8]*> [#uses=1]
 
32
        %place_file = alloca [300 x i8]         ; <[300 x i8]*> [#uses=1]
 
33
        %arch_file = alloca [300 x i8]          ; <[300 x i8]*> [#uses=1]
 
34
        %route_file = alloca [300 x i8]         ; <[300 x i8]*> [#uses=1]
 
35
        %full_stats = alloca i32                ; <i32*> [#uses=1]
 
36
        %operation = alloca i32         ; <i32*> [#uses=1]
 
37
        %verify_binary_search = alloca i32              ; <i32*> [#uses=1]
 
38
        %show_graphics = alloca i32             ; <i32*> [#uses=1]
 
39
        %annealing_sched = alloca %struct..s_annealing_sched            ; <%struct..s_annealing_sched*> [#uses=5]
 
40
        %placer_opts = alloca %struct..s_placer_opts            ; <%struct..s_placer_opts*> [#uses=7]
 
41
        %router_opts = alloca %struct..s_router_opts            ; <%struct..s_router_opts*> [#uses=9]
 
42
        %det_routing_arch = alloca %struct..s_det_routing_arch          ; <%struct..s_det_routing_arch*> [#uses=11]
 
43
        %segment_inf = alloca %struct..s_segment_inf*           ; <%struct..s_segment_inf**> [#uses=1]
 
44
        %timing_inf = alloca { i32, float, float, float, float, float, float, float, float, float, float }              ; <{ i32, float, float, float, float, float, float, float, float, float, float }*> [#uses=11]
 
45
        %tmp.101 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 4             ; <i8**> [#uses=1]
 
46
        %tmp.105 = getelementptr [300 x i8]* %net_file, i64 0, i64 0            ; <i8*> [#uses=1]
 
47
        %tmp.106 = getelementptr [300 x i8]* %arch_file, i64 0, i64 0           ; <i8*> [#uses=1]
 
48
        %tmp.107 = getelementptr [300 x i8]* %place_file, i64 0, i64 0          ; <i8*> [#uses=1]
 
49
        %tmp.108 = getelementptr [300 x i8]* %route_file, i64 0, i64 0          ; <i8*> [#uses=1]
 
50
        %tmp.109 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 0               ; <i32*> [#uses=1]
 
51
        %tmp.112 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 0             ; <i32*> [#uses=1]
 
52
        %tmp.114 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 6             ; <i32*> [#uses=1]
 
53
        %tmp.118 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 7             ; <i32*> [#uses=1]
 
54
        %tmp.135 = load i32* %operation         ; <i32> [#uses=1]
 
55
        %tmp.137 = load i32* %tmp.112           ; <i32> [#uses=1]
 
56
        %tmp.138 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 1             ; <float*> [#uses=1]
 
57
        %tmp.139 = load float* %tmp.138         ; <float> [#uses=1]
 
58
        %tmp.140 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 2             ; <i32*> [#uses=1]
 
59
        %tmp.141 = load i32* %tmp.140           ; <i32> [#uses=1]
 
60
        %tmp.142 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 3             ; <i32*> [#uses=1]
 
61
        %tmp.143 = load i32* %tmp.142           ; <i32> [#uses=1]
 
62
        %tmp.145 = load i8** %tmp.101           ; <i8*> [#uses=1]
 
63
        %tmp.146 = getelementptr %struct..s_placer_opts* %placer_opts, i64 0, i32 5             ; <i32*> [#uses=1]
 
64
        %tmp.147 = load i32* %tmp.146           ; <i32> [#uses=1]
 
65
        %tmp.149 = load i32* %tmp.114           ; <i32> [#uses=1]
 
66
        %tmp.154 = load i32* %full_stats                ; <i32> [#uses=1]
 
67
        %tmp.155 = load i32* %verify_binary_search              ; <i32> [#uses=1]
 
68
        %tmp.156 = getelementptr %struct..s_annealing_sched* %annealing_sched, i64 0, i32 0             ; <i32*> [#uses=1]
 
69
        %tmp.157 = load i32* %tmp.156           ; <i32> [#uses=1]
 
70
        %tmp.158 = getelementptr %struct..s_annealing_sched* %annealing_sched, i64 0, i32 1             ; <float*> [#uses=1]
 
71
        %tmp.159 = load float* %tmp.158         ; <float> [#uses=1]
 
72
        %tmp.160 = getelementptr %struct..s_annealing_sched* %annealing_sched, i64 0, i32 2             ; <float*> [#uses=1]
 
73
        %tmp.161 = load float* %tmp.160         ; <float> [#uses=1]
 
74
        %tmp.162 = getelementptr %struct..s_annealing_sched* %annealing_sched, i64 0, i32 3             ; <float*> [#uses=1]
 
75
        %tmp.163 = load float* %tmp.162         ; <float> [#uses=1]
 
76
        %tmp.164 = getelementptr %struct..s_annealing_sched* %annealing_sched, i64 0, i32 4             ; <float*> [#uses=1]
 
77
        %tmp.165 = load float* %tmp.164         ; <float> [#uses=1]
 
78
        %tmp.166 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 0             ; <float*> [#uses=1]
 
79
        %tmp.167 = load float* %tmp.166         ; <float> [#uses=1]
 
80
        %tmp.168 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 1             ; <float*> [#uses=1]
 
81
        %tmp.169 = load float* %tmp.168         ; <float> [#uses=1]
 
82
        %tmp.170 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 2             ; <float*> [#uses=1]
 
83
        %tmp.171 = load float* %tmp.170         ; <float> [#uses=1]
 
84
        %tmp.172 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 3             ; <float*> [#uses=1]
 
85
        %tmp.173 = load float* %tmp.172         ; <float> [#uses=1]
 
86
        %tmp.174 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 4             ; <float*> [#uses=1]
 
87
        %tmp.175 = load float* %tmp.174         ; <float> [#uses=1]
 
88
        %tmp.176 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 5             ; <i32*> [#uses=1]
 
89
        %tmp.177 = load i32* %tmp.176           ; <i32> [#uses=1]
 
90
        %tmp.178 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 6             ; <i32*> [#uses=1]
 
91
        %tmp.179 = load i32* %tmp.178           ; <i32> [#uses=1]
 
92
        %tmp.181 = load i32* %tmp.118           ; <i32> [#uses=1]
 
93
        %tmp.182 = getelementptr %struct..s_router_opts* %router_opts, i64 0, i32 8             ; <i32*> [#uses=1]
 
94
        %tmp.183 = load i32* %tmp.182           ; <i32> [#uses=1]
 
95
        %tmp.184 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 0           ; <i32*> [#uses=1]
 
96
        %tmp.185 = load i32* %tmp.184           ; <i32> [#uses=1]
 
97
        %tmp.186 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 1           ; <float*> [#uses=1]
 
98
        %tmp.187 = load float* %tmp.186         ; <float> [#uses=1]
 
99
        %tmp.188 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 2           ; <float*> [#uses=1]
 
100
        %tmp.189 = load float* %tmp.188         ; <float> [#uses=1]
 
101
        %tmp.190 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 3           ; <float*> [#uses=1]
 
102
        %tmp.191 = load float* %tmp.190         ; <float> [#uses=1]
 
103
        %tmp.192 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 4           ; <i32*> [#uses=1]
 
104
        %tmp.193 = load i32* %tmp.192           ; <i32> [#uses=1]
 
105
        %tmp.194 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 5           ; <i32*> [#uses=1]
 
106
        %tmp.195 = load i32* %tmp.194           ; <i32> [#uses=1]
 
107
        %tmp.196 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 6           ; <i16*> [#uses=1]
 
108
        %tmp.197 = load i16* %tmp.196           ; <i16> [#uses=1]
 
109
        %tmp.198 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 7           ; <i16*> [#uses=1]
 
110
        %tmp.199 = load i16* %tmp.198           ; <i16> [#uses=1]
 
111
        %tmp.200 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 8           ; <i16*> [#uses=1]
 
112
        %tmp.201 = load i16* %tmp.200           ; <i16> [#uses=1]
 
113
        %tmp.202 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 9           ; <float*> [#uses=1]
 
114
        %tmp.203 = load float* %tmp.202         ; <float> [#uses=1]
 
115
        %tmp.204 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, i64 0, i32 10          ; <float*> [#uses=1]
 
116
        %tmp.205 = load float* %tmp.204         ; <float> [#uses=1]
 
117
        %tmp.206 = load %struct..s_segment_inf** %segment_inf           ; <%struct..s_segment_inf*> [#uses=1]
 
118
        %tmp.208 = load i32* %tmp.109           ; <i32> [#uses=1]
 
119
        %tmp.209 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 1               ; <float*> [#uses=1]
 
120
        %tmp.210 = load float* %tmp.209         ; <float> [#uses=1]
 
121
        %tmp.211 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 2               ; <float*> [#uses=1]
 
122
        %tmp.212 = load float* %tmp.211         ; <float> [#uses=1]
 
123
        %tmp.213 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 3               ; <float*> [#uses=1]
 
124
        %tmp.214 = load float* %tmp.213         ; <float> [#uses=1]
 
125
        %tmp.215 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 4               ; <float*> [#uses=1]
 
126
        %tmp.216 = load float* %tmp.215         ; <float> [#uses=1]
 
127
        %tmp.217 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 5               ; <float*> [#uses=1]
 
128
        %tmp.218 = load float* %tmp.217         ; <float> [#uses=1]
 
129
        %tmp.219 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 6               ; <float*> [#uses=1]
 
130
        %tmp.220 = load float* %tmp.219         ; <float> [#uses=1]
 
131
        %tmp.221 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 7               ; <float*> [#uses=1]
 
132
        %tmp.222 = load float* %tmp.221         ; <float> [#uses=1]
 
133
        %tmp.223 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 8               ; <float*> [#uses=1]
 
134
        %tmp.224 = load float* %tmp.223         ; <float> [#uses=1]
 
135
        %tmp.225 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 9               ; <float*> [#uses=1]
 
136
        %tmp.226 = load float* %tmp.225         ; <float> [#uses=1]
 
137
        %tmp.227 = getelementptr { i32, float, float, float, float, float, float, float, float, float, float }* %timing_inf, i64 0, i32 10              ; <float*> [#uses=1]
 
138
        %tmp.228 = load float* %tmp.227         ; <float> [#uses=1]
 
139
        call void @place_and_route( i32 %tmp.135, i32 %tmp.137, float %tmp.139, i32 %tmp.141, i32 %tmp.143, i8* %tmp.145, i32 %tmp.147, i32 %tmp.149, i8* %tmp.107, i8* %tmp.105, i8* %tmp.106, i8* %tmp.108, i32 %tmp.154, i32 %tmp.155, i32 %tmp.157, float %tmp.159, float %tmp.161, float %tmp.163, float %tmp.165, float %tmp.167, float %tmp.169, float %tmp.171, float %tmp.173, float %tmp.175, i32 %tmp.177, i32 %tmp.179, i32 %tmp.181, i32 %tmp.183, i32 %tmp.185, float %tmp.187, float %tmp.189, float %tmp.191, i32 %tmp.193, i32 %tmp.195, i16 %tmp.197, i16 %tmp.199, i16 %tmp.201, float %tmp.203, float %tmp.205, %struct..s_segment_inf* %tmp.206, i32 %tmp.208, float %tmp.210, float %tmp.212, float %tmp.214, float %tmp.216, float %tmp.218, float %tmp.220, float %tmp.222, float %tmp.224, float %tmp.226, float %tmp.228 )
 
140
        %tmp.231 = load i32* %show_graphics             ; <i32> [#uses=1]
 
141
        %tmp.232 = icmp ne i32 %tmp.231, 0              ; <i1> [#uses=1]
 
142
        br i1 %tmp.232, label %then.2, label %endif.2
 
143
 
 
144
then.2:         ; preds = %entry
 
145
        br label %endif.2
 
146
 
 
147
endif.2:                ; preds = %then.2, %entry
 
148
        ret i32 0
 
149
}
 
150
 
 
151
declare i32 @printf(i8*, ...)
 
152
 
 
153
declare void @place_and_route(i32, i32, float, i32, i32, i8*, i32, i32, i8*, i8*, i8*, i8*, i32, i32, i32, float, float, float, float, float, float, float, float, float, i32, i32, i32, i32, i32, float, float, float, i32, i32, i16, i16, i16, float, float, %struct..s_segment_inf*, i32, float, float, float, float, float, float, float, float, float, float)