~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/lib/Target/X86/X86MachineFunctionInfo.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
//====- X86MachineFuctionInfo.h - X86 machine function info -----*- 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 X86-specific per-machine-function information.
 
11
//
 
12
//===----------------------------------------------------------------------===//
 
13
 
 
14
#ifndef X86MACHINEFUNCTIONINFO_H
 
15
#define X86MACHINEFUNCTIONINFO_H
 
16
 
 
17
#include "llvm/CodeGen/MachineFunction.h"
 
18
 
 
19
namespace llvm {
 
20
 
 
21
/// X86MachineFunctionInfo - This class is derived from MachineFunction and
 
22
/// contains private X86 target-specific information for each MachineFunction.
 
23
class X86MachineFunctionInfo : public MachineFunctionInfo {
 
24
  /// ForceFramePointer - True if the function is required to use of frame
 
25
  /// pointer for reasons other than it containing dynamic allocation or 
 
26
  /// that FP eliminatation is turned off. For example, Cygwin main function
 
27
  /// contains stack pointer re-alignment code which requires FP.
 
28
  bool ForceFramePointer;
 
29
 
 
30
  /// CalleeSavedFrameSize - Size of the callee-saved register portion of the
 
31
  /// stack frame in bytes.
 
32
  unsigned CalleeSavedFrameSize;
 
33
 
 
34
  /// BytesToPopOnReturn - Number of bytes function pops on return.
 
35
  /// Used on windows platform for stdcall & fastcall name decoration
 
36
  unsigned BytesToPopOnReturn;
 
37
 
 
38
  /// ReturnAddrIndex - FrameIndex for return slot.
 
39
  int ReturnAddrIndex;
 
40
 
 
41
  /// TailCallReturnAddrDelta - The number of bytes by which return address
 
42
  /// stack slot is moved as the result of tail call optimization.
 
43
  int TailCallReturnAddrDelta;
 
44
 
 
45
  /// SRetReturnReg - Some subtargets require that sret lowering includes
 
46
  /// returning the value of the returned struct in a register. This field
 
47
  /// holds the virtual register into which the sret argument is passed.
 
48
  unsigned SRetReturnReg;
 
49
 
 
50
  /// GlobalBaseReg - keeps track of the virtual register initialized for
 
51
  /// use as the global base register. This is used for PIC in some PIC
 
52
  /// relocation models.
 
53
  unsigned GlobalBaseReg;
 
54
 
 
55
public:
 
56
  X86MachineFunctionInfo() : ForceFramePointer(false),
 
57
                             CalleeSavedFrameSize(0),
 
58
                             BytesToPopOnReturn(0),
 
59
                             ReturnAddrIndex(0),
 
60
                             TailCallReturnAddrDelta(0),
 
61
                             SRetReturnReg(0),
 
62
                             GlobalBaseReg(0) {}
 
63
  
 
64
  explicit X86MachineFunctionInfo(MachineFunction &MF)
 
65
    : ForceFramePointer(false),
 
66
      CalleeSavedFrameSize(0),
 
67
      BytesToPopOnReturn(0),
 
68
      ReturnAddrIndex(0),
 
69
      TailCallReturnAddrDelta(0),
 
70
      SRetReturnReg(0),
 
71
      GlobalBaseReg(0) {}
 
72
  
 
73
  bool getForceFramePointer() const { return ForceFramePointer;} 
 
74
  void setForceFramePointer(bool forceFP) { ForceFramePointer = forceFP; }
 
75
 
 
76
  unsigned getCalleeSavedFrameSize() const { return CalleeSavedFrameSize; }
 
77
  void setCalleeSavedFrameSize(unsigned bytes) { CalleeSavedFrameSize = bytes; }
 
78
 
 
79
  unsigned getBytesToPopOnReturn() const { return BytesToPopOnReturn; }
 
80
  void setBytesToPopOnReturn (unsigned bytes) { BytesToPopOnReturn = bytes;}
 
81
 
 
82
  int getRAIndex() const { return ReturnAddrIndex; }
 
83
  void setRAIndex(int Index) { ReturnAddrIndex = Index; }
 
84
 
 
85
  int getTCReturnAddrDelta() const { return TailCallReturnAddrDelta; }
 
86
  void setTCReturnAddrDelta(int delta) {TailCallReturnAddrDelta = delta;}
 
87
 
 
88
  unsigned getSRetReturnReg() const { return SRetReturnReg; }
 
89
  void setSRetReturnReg(unsigned Reg) { SRetReturnReg = Reg; }
 
90
 
 
91
  unsigned getGlobalBaseReg() const { return GlobalBaseReg; }
 
92
  void setGlobalBaseReg(unsigned Reg) { GlobalBaseReg = Reg; }
 
93
};
 
94
 
 
95
} // End llvm namespace
 
96
 
 
97
#endif