~ubuntu-branches/ubuntu/maverick/clamav/maverick-backports

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/lib/CodeGen/Spiller.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Gran, Stephen Gran, Michael Tautschnig
  • Date: 2010-04-26 21:41:18 UTC
  • mfrom: (2.1.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100426214118-i6lo606wnh7ywfj6
Tags: 0.96+dfsg-4
[ Stephen Gran ]
* Fixed typo in clamav-milter's postinst

[ Michael Tautschnig ]
* Fixed typo in clamav-freshclam's postinst (closes: #579271)
* Debconf translation updates
  - Portuguese (closes: #579068)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===-- llvm/CodeGen/Spiller.h - Spiller -*- 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
#ifndef LLVM_CODEGEN_SPILLER_H
 
11
#define LLVM_CODEGEN_SPILLER_H
 
12
 
 
13
#include "llvm/ADT/SmallVector.h"
 
14
#include <vector>
 
15
 
 
16
namespace llvm {
 
17
 
 
18
  class LiveInterval;
 
19
  class LiveIntervals;
 
20
  class LiveStacks;
 
21
  class MachineFunction;
 
22
  class MachineInstr;
 
23
  class MachineLoopInfo;
 
24
  class SlotIndex;
 
25
  class VirtRegMap;
 
26
  class VNInfo;
 
27
 
 
28
  /// Spiller interface.
 
29
  ///
 
30
  /// Implementations are utility classes which insert spill or remat code on
 
31
  /// demand.
 
32
  class Spiller {
 
33
  public:
 
34
    virtual ~Spiller() = 0;
 
35
 
 
36
    /// Spill the given live range. The method used will depend on the Spiller
 
37
    /// implementation selected.
 
38
    virtual std::vector<LiveInterval*> spill(LiveInterval *li,
 
39
                                             SmallVectorImpl<LiveInterval*> &spillIs,
 
40
                                             SlotIndex *earliestIndex = 0) = 0;
 
41
 
 
42
  };
 
43
 
 
44
  /// Create and return a spiller object, as specified on the command line.
 
45
  Spiller* createSpiller(MachineFunction *mf, LiveIntervals *li,
 
46
                         const MachineLoopInfo *loopInfo, VirtRegMap *vrm);
 
47
}
 
48
 
 
49
#endif