~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/include/llvm/CodeGen/RuntimeLibcalls.h

  • 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
//===-- CodeGen/RuntimeLibcall.h - Runtime Library Calls --------*- C++ -*-===//
 
2
//
 
3
//                     The LLVM Compiler Infrastructure
 
4
//
 
5
// This file is distributed under the University of Illinois Open Source
 
6
// License. See LICENSE.TXT for details.
 
7
//
 
8
//===----------------------------------------------------------------------===//
 
9
//
 
10
// This file defines the enum representing the list of runtime library calls
 
11
// the backend may emit during code generation, and also some helper functions.
 
12
//
 
13
//===----------------------------------------------------------------------===//
 
14
 
 
15
#ifndef LLVM_CODEGEN_RUNTIMELIBCALLS_H
 
16
#define LLVM_CODEGEN_RUNTIMELIBCALLS_H
 
17
 
 
18
#include "llvm/CodeGen/ValueTypes.h"
 
19
 
 
20
namespace llvm {
 
21
namespace RTLIB {
 
22
  /// RTLIB::Libcall enum - This enum defines all of the runtime library calls
 
23
  /// the backend can emit.  The various long double types cannot be merged,
 
24
  /// because 80-bit library functions use "xf" and 128-bit use "tf".
 
25
  /// 
 
26
  /// When adding PPCF128 functions here, note that their names generally need
 
27
  /// to be overridden for Darwin with the xxx$LDBL128 form.  See
 
28
  /// PPCISelLowering.cpp.
 
29
  ///
 
30
  enum Libcall {
 
31
    // Integer
 
32
    SHL_I16,
 
33
    SHL_I32,
 
34
    SHL_I64,
 
35
    SHL_I128,
 
36
    SRL_I16,
 
37
    SRL_I32,
 
38
    SRL_I64,
 
39
    SRL_I128,
 
40
    SRA_I16,
 
41
    SRA_I32,
 
42
    SRA_I64,
 
43
    SRA_I128,
 
44
    MUL_I8,
 
45
    MUL_I16,
 
46
    MUL_I32,
 
47
    MUL_I64,
 
48
    MUL_I128,
 
49
    SDIV_I8,
 
50
    SDIV_I16,
 
51
    SDIV_I32,
 
52
    SDIV_I64,
 
53
    SDIV_I128,
 
54
    UDIV_I8,
 
55
    UDIV_I16,
 
56
    UDIV_I32,
 
57
    UDIV_I64,
 
58
    UDIV_I128,
 
59
    SREM_I8,
 
60
    SREM_I16,
 
61
    SREM_I32,
 
62
    SREM_I64,
 
63
    SREM_I128,
 
64
    UREM_I8,
 
65
    UREM_I16,
 
66
    UREM_I32,
 
67
    UREM_I64,
 
68
    UREM_I128,
 
69
    NEG_I32,
 
70
    NEG_I64,
 
71
 
 
72
    // FLOATING POINT
 
73
    ADD_F32,
 
74
    ADD_F64,
 
75
    ADD_F80,
 
76
    ADD_PPCF128,
 
77
    SUB_F32,
 
78
    SUB_F64,
 
79
    SUB_F80,
 
80
    SUB_PPCF128,
 
81
    MUL_F32,
 
82
    MUL_F64,
 
83
    MUL_F80,
 
84
    MUL_PPCF128,
 
85
    DIV_F32,
 
86
    DIV_F64,
 
87
    DIV_F80,
 
88
    DIV_PPCF128,
 
89
    REM_F32,
 
90
    REM_F64,
 
91
    REM_F80,
 
92
    REM_PPCF128,
 
93
    POWI_F32,
 
94
    POWI_F64,
 
95
    POWI_F80,
 
96
    POWI_PPCF128,
 
97
    SQRT_F32,
 
98
    SQRT_F64,
 
99
    SQRT_F80,
 
100
    SQRT_PPCF128,
 
101
    LOG_F32,
 
102
    LOG_F64,
 
103
    LOG_F80,
 
104
    LOG_PPCF128,
 
105
    LOG2_F32,
 
106
    LOG2_F64,
 
107
    LOG2_F80,
 
108
    LOG2_PPCF128,
 
109
    LOG10_F32,
 
110
    LOG10_F64,
 
111
    LOG10_F80,
 
112
    LOG10_PPCF128,
 
113
    EXP_F32,
 
114
    EXP_F64,
 
115
    EXP_F80,
 
116
    EXP_PPCF128,
 
117
    EXP2_F32,
 
118
    EXP2_F64,
 
119
    EXP2_F80,
 
120
    EXP2_PPCF128,
 
121
    SIN_F32,
 
122
    SIN_F64,
 
123
    SIN_F80,
 
124
    SIN_PPCF128,
 
125
    COS_F32,
 
126
    COS_F64,
 
127
    COS_F80,
 
128
    COS_PPCF128,
 
129
    POW_F32,
 
130
    POW_F64,
 
131
    POW_F80,
 
132
    POW_PPCF128,
 
133
    CEIL_F32,
 
134
    CEIL_F64,
 
135
    CEIL_F80,
 
136
    CEIL_PPCF128,
 
137
    TRUNC_F32,
 
138
    TRUNC_F64,
 
139
    TRUNC_F80,
 
140
    TRUNC_PPCF128,
 
141
    RINT_F32,
 
142
    RINT_F64,
 
143
    RINT_F80,
 
144
    RINT_PPCF128,
 
145
    NEARBYINT_F32,
 
146
    NEARBYINT_F64,
 
147
    NEARBYINT_F80,
 
148
    NEARBYINT_PPCF128,
 
149
    FLOOR_F32,
 
150
    FLOOR_F64,
 
151
    FLOOR_F80,
 
152
    FLOOR_PPCF128,
 
153
 
 
154
    // CONVERSION
 
155
    FPEXT_F32_F64,
 
156
    FPROUND_F64_F32,
 
157
    FPROUND_F80_F32,
 
158
    FPROUND_PPCF128_F32,
 
159
    FPROUND_F80_F64,
 
160
    FPROUND_PPCF128_F64,
 
161
    FPTOSINT_F32_I8,
 
162
    FPTOSINT_F32_I16,
 
163
    FPTOSINT_F32_I32,
 
164
    FPTOSINT_F32_I64,
 
165
    FPTOSINT_F32_I128,
 
166
    FPTOSINT_F64_I32,
 
167
    FPTOSINT_F64_I64,
 
168
    FPTOSINT_F64_I128,
 
169
    FPTOSINT_F80_I32,
 
170
    FPTOSINT_F80_I64,
 
171
    FPTOSINT_F80_I128,
 
172
    FPTOSINT_PPCF128_I32,
 
173
    FPTOSINT_PPCF128_I64,
 
174
    FPTOSINT_PPCF128_I128,
 
175
    FPTOUINT_F32_I8,
 
176
    FPTOUINT_F32_I16,
 
177
    FPTOUINT_F32_I32,
 
178
    FPTOUINT_F32_I64,
 
179
    FPTOUINT_F32_I128,
 
180
    FPTOUINT_F64_I32,
 
181
    FPTOUINT_F64_I64,
 
182
    FPTOUINT_F64_I128,
 
183
    FPTOUINT_F80_I32,
 
184
    FPTOUINT_F80_I64,
 
185
    FPTOUINT_F80_I128,
 
186
    FPTOUINT_PPCF128_I32,
 
187
    FPTOUINT_PPCF128_I64,
 
188
    FPTOUINT_PPCF128_I128,
 
189
    SINTTOFP_I32_F32,
 
190
    SINTTOFP_I32_F64,
 
191
    SINTTOFP_I32_F80,
 
192
    SINTTOFP_I32_PPCF128,
 
193
    SINTTOFP_I64_F32,
 
194
    SINTTOFP_I64_F64,
 
195
    SINTTOFP_I64_F80,
 
196
    SINTTOFP_I64_PPCF128,
 
197
    SINTTOFP_I128_F32,
 
198
    SINTTOFP_I128_F64,
 
199
    SINTTOFP_I128_F80,
 
200
    SINTTOFP_I128_PPCF128,
 
201
    UINTTOFP_I32_F32,
 
202
    UINTTOFP_I32_F64,
 
203
    UINTTOFP_I32_F80,
 
204
    UINTTOFP_I32_PPCF128,
 
205
    UINTTOFP_I64_F32,
 
206
    UINTTOFP_I64_F64,
 
207
    UINTTOFP_I64_F80,
 
208
    UINTTOFP_I64_PPCF128,
 
209
    UINTTOFP_I128_F32,
 
210
    UINTTOFP_I128_F64,
 
211
    UINTTOFP_I128_F80,
 
212
    UINTTOFP_I128_PPCF128,
 
213
 
 
214
    // COMPARISON
 
215
    OEQ_F32,
 
216
    OEQ_F64,
 
217
    UNE_F32,
 
218
    UNE_F64,
 
219
    OGE_F32,
 
220
    OGE_F64,
 
221
    OLT_F32,
 
222
    OLT_F64,
 
223
    OLE_F32,
 
224
    OLE_F64,
 
225
    OGT_F32,
 
226
    OGT_F64,
 
227
    UO_F32,
 
228
    UO_F64,
 
229
    O_F32,
 
230
    O_F64,
 
231
 
 
232
    // MEMORY
 
233
    MEMCPY,
 
234
    MEMSET,
 
235
    MEMMOVE,
 
236
 
 
237
    // EXCEPTION HANDLING
 
238
    UNWIND_RESUME,
 
239
 
 
240
    UNKNOWN_LIBCALL
 
241
  };
 
242
 
 
243
  /// getFPEXT - Return the FPEXT_*_* value for the given types, or
 
244
  /// UNKNOWN_LIBCALL if there is none.
 
245
  Libcall getFPEXT(EVT OpVT, EVT RetVT);
 
246
 
 
247
  /// getFPROUND - Return the FPROUND_*_* value for the given types, or
 
248
  /// UNKNOWN_LIBCALL if there is none.
 
249
  Libcall getFPROUND(EVT OpVT, EVT RetVT);
 
250
 
 
251
  /// getFPTOSINT - Return the FPTOSINT_*_* value for the given types, or
 
252
  /// UNKNOWN_LIBCALL if there is none.
 
253
  Libcall getFPTOSINT(EVT OpVT, EVT RetVT);
 
254
 
 
255
  /// getFPTOUINT - Return the FPTOUINT_*_* value for the given types, or
 
256
  /// UNKNOWN_LIBCALL if there is none.
 
257
  Libcall getFPTOUINT(EVT OpVT, EVT RetVT);
 
258
 
 
259
  /// getSINTTOFP - Return the SINTTOFP_*_* value for the given types, or
 
260
  /// UNKNOWN_LIBCALL if there is none.
 
261
  Libcall getSINTTOFP(EVT OpVT, EVT RetVT);
 
262
 
 
263
  /// getUINTTOFP - Return the UINTTOFP_*_* value for the given types, or
 
264
  /// UNKNOWN_LIBCALL if there is none.
 
265
  Libcall getUINTTOFP(EVT OpVT, EVT RetVT);
 
266
}
 
267
}
 
268
 
 
269
#endif