~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/include/llvm/Intrinsics.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
//===-- llvm/Instrinsics.h - LLVM Intrinsic Function Handling ---*- 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 a set of enums which allow processing of intrinsic
 
11
// functions.  Values of these enum types are returned by
 
12
// Function::getIntrinsicID.
 
13
//
 
14
//===----------------------------------------------------------------------===//
 
15
 
 
16
#ifndef LLVM_INTRINSICS_H
 
17
#define LLVM_INTRINSICS_H
 
18
 
 
19
#include <string>
 
20
 
 
21
namespace llvm {
 
22
 
 
23
class Type;
 
24
class FunctionType;
 
25
class Function;
 
26
class LLVMContext;
 
27
class Module;
 
28
class AttrListPtr;
 
29
 
 
30
/// Intrinsic Namespace - This namespace contains an enum with a value for
 
31
/// every intrinsic/builtin function known by LLVM.  These enum values are
 
32
/// returned by Function::getIntrinsicID().
 
33
///
 
34
namespace Intrinsic {
 
35
  enum ID {
 
36
    not_intrinsic = 0,   // Must be zero
 
37
 
 
38
    // Get the intrinsic enums generated from Intrinsics.td
 
39
#define GET_INTRINSIC_ENUM_VALUES
 
40
#include "llvm/Intrinsics.gen"    
 
41
#undef GET_INTRINSIC_ENUM_VALUES
 
42
    , num_intrinsics
 
43
  };
 
44
  
 
45
  /// Intrinsic::getName(ID) - Return the LLVM name for an intrinsic, such as
 
46
  /// "llvm.ppc.altivec.lvx".
 
47
  std::string getName(ID id, const Type **Tys = 0, unsigned numTys = 0);
 
48
  
 
49
  /// Intrinsic::getType(ID) - Return the function type for an intrinsic.
 
50
  ///
 
51
  const FunctionType *getType(LLVMContext &Context, ID id,
 
52
                              const Type **Tys = 0, unsigned numTys = 0);
 
53
 
 
54
  /// Intrinsic::isOverloaded(ID) - Returns true if the intrinsic can be
 
55
  /// overloaded.
 
56
  bool isOverloaded(ID id);
 
57
 
 
58
  /// Intrinsic::getAttributes(ID) - Return the attributes for an intrinsic.
 
59
  ///
 
60
  AttrListPtr getAttributes(ID id);
 
61
 
 
62
  /// Intrinsic::getDeclaration(M, ID) - Create or insert an LLVM Function
 
63
  /// declaration for an intrinsic, and return it.
 
64
  ///
 
65
  /// The Tys and numTys parameters are for intrinsics with overloaded types
 
66
  /// (e.g., those using iAny, fAny, vAny, or iPTRAny). For a declaration for an
 
67
  /// overloaded intrinsic, Tys should point to an array of numTys pointers to
 
68
  /// Type, and must provide exactly one type for each overloaded type in the
 
69
  /// intrinsic.
 
70
  Function *getDeclaration(Module *M, ID id, const Type **Tys = 0, 
 
71
                           unsigned numTys = 0);
 
72
                           
 
73
  /// Map a GCC builtin name to an intrinsic ID.
 
74
  ID getIntrinsicForGCCBuiltin(const char *Prefix, const char *BuiltinName);
 
75
  
 
76
} // End Intrinsic namespace
 
77
 
 
78
} // End llvm namespace
 
79
 
 
80
#endif