~ubuntu-branches/debian/sid/clamav/sid

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Scott Kitterman, Sebastian Andrzej Siewior, Andreas Cadhalpun, Scott Kitterman, Javier Fernández-Sanguino
  • Date: 2015-01-28 00:25:13 UTC
  • mfrom: (1.3.15)
  • Revision ID: package-import@ubuntu.com-20150128002513-4apvvjyr1213db8x
Tags: 0.98.6+dfsg-1
[ Sebastian Andrzej Siewior ]
* update "fix-ssize_t-size_t-off_t-printf-modifier", include of misc.h was
  missing but was pulled in via the systemd patch.
* Don't leak return codes from libmspack to clamav API. (Closes: #774686).

[ Andreas Cadhalpun ]
* Add patch to avoid emitting incremental progress messages when not
  outputting to a terminal. (Closes: #767350)
* Update lintian-overrides for unused-file-paragraph-in-dep5-copyright.
* clamav-base.postinst: always chown /var/log/clamav and /var/lib/clamav
  to clamav:clamav, not only on fresh installations. (Closes: #775400)
* Adapt the clamav-daemon and clamav-freshclam logrotate scripts,
  so that they correctly work under systemd.
* Move the PidFile variable from the clamd/freshclam configuration files
  to the init scripts. This makes the init scripts more robust against
  misconfiguration and avoids error messages with systemd. (Closes: #767353)
* debian/copyright: drop files from Files-Excluded only present in github
  tarballs
* Drop Workaround-a-bug-in-libc-on-Hurd.patch, because hurd got fixed.
  (see #752237)
* debian/rules: Remove useless --with-system-tommath --without-included-ltdl
  configure options.

[ Scott Kitterman ]
* Stop stripping llvm when repacking the tarball as the system llvm on some
  releases is too old to use
* New upstream bugfix release
  - Library shared object revisions.
  - Includes a patch from Sebastian Andrzej Siewior making ClamAV pid files
    compatible with systemd.
  - Fix a heap out of bounds condition with crafted Yoda's crypter files.
    This issue was discovered by Felix Groebert of the Google Security Team.
  - Fix a heap out of bounds condition with crafted mew packer files. This
    issue was discovered by Felix Groebert of the Google Security Team.
  - Fix a heap out of bounds condition with crafted upx packer files. This
    issue was discovered by Kevin Szkudlapski of Quarkslab.
  - Fix a heap out of bounds condition with crafted upack packer files. This
    issue was discovered by Sebastian Andrzej Siewior. CVE-2014-9328.
  - Compensate a crash due to incorrect compiler optimization when handling
    crafted petite packer files. This issue was discovered by Sebastian
    Andrzej Siewior.
* Update lintian override for embedded zlib to match new so version

[ Javier Fernández-Sanguino ]
* Updated Spanish Debconf template translation (Closes: #773563)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===- CodeGen/Analysis.h - CodeGen LLVM IR Analysis Utilities --*- 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 declares several CodeGen-specific LLVM IR analysis utilties.
 
11
//
 
12
//===----------------------------------------------------------------------===//
 
13
 
 
14
#ifndef LLVM_CODEGEN_ANALYSIS_H
 
15
#define LLVM_CODEGEN_ANALYSIS_H
 
16
 
 
17
#include "llvm/Instructions.h"
 
18
#include "llvm/InlineAsm.h"
 
19
#include "llvm/ADT/SmallVector.h"
 
20
#include "llvm/CodeGen/ValueTypes.h"
 
21
#include "llvm/CodeGen/ISDOpcodes.h"
 
22
#include "llvm/Support/CallSite.h"
 
23
 
 
24
namespace llvm {
 
25
 
 
26
class TargetLowering;
 
27
class GlobalVariable;
 
28
 
 
29
/// ComputeLinearIndex - Given an LLVM IR aggregate type and a sequence
 
30
/// of insertvalue or extractvalue indices that identify a member, return
 
31
/// the linearized index of the start of the member.
 
32
///
 
33
unsigned ComputeLinearIndex(const TargetLowering &TLI, const Type *Ty,
 
34
                            const unsigned *Indices,
 
35
                            const unsigned *IndicesEnd,
 
36
                            unsigned CurIndex = 0);
 
37
 
 
38
/// ComputeValueVTs - Given an LLVM IR type, compute a sequence of
 
39
/// EVTs that represent all the individual underlying
 
40
/// non-aggregate types that comprise it.
 
41
///
 
42
/// If Offsets is non-null, it points to a vector to be filled in
 
43
/// with the in-memory offsets of each of the individual values.
 
44
///
 
45
void ComputeValueVTs(const TargetLowering &TLI, const Type *Ty,
 
46
                     SmallVectorImpl<EVT> &ValueVTs,
 
47
                     SmallVectorImpl<uint64_t> *Offsets = 0,
 
48
                     uint64_t StartingOffset = 0);
 
49
 
 
50
/// ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
 
51
GlobalVariable *ExtractTypeInfo(Value *V);
 
52
 
 
53
/// hasInlineAsmMemConstraint - Return true if the inline asm instruction being
 
54
/// processed uses a memory 'm' constraint.
 
55
bool hasInlineAsmMemConstraint(std::vector<InlineAsm::ConstraintInfo> &CInfos,
 
56
                               const TargetLowering &TLI);
 
57
 
 
58
/// getFCmpCondCode - Return the ISD condition code corresponding to
 
59
/// the given LLVM IR floating-point condition code.  This includes
 
60
/// consideration of global floating-point math flags.
 
61
///
 
62
ISD::CondCode getFCmpCondCode(FCmpInst::Predicate Pred);
 
63
 
 
64
/// getICmpCondCode - Return the ISD condition code corresponding to
 
65
/// the given LLVM IR integer condition code.
 
66
///
 
67
ISD::CondCode getICmpCondCode(ICmpInst::Predicate Pred);
 
68
 
 
69
/// Test if the given instruction is in a position to be optimized
 
70
/// with a tail-call. This roughly means that it's in a block with
 
71
/// a return and there's nothing that needs to be scheduled
 
72
/// between it and the return.
 
73
///
 
74
/// This function only tests target-independent requirements.
 
75
bool isInTailCallPosition(ImmutableCallSite CS, Attributes CalleeRetAttr,
 
76
                          const TargetLowering &TLI);
 
77
 
 
78
} // End llvm namespace
 
79
 
 
80
#endif