LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
CodeGen
Spiller.h
Go to the documentation of this file.
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_LIB_CODEGEN_SPILLER_H
11
#define LLVM_LIB_CODEGEN_SPILLER_H
12
13
namespace
llvm {
14
15
class
LiveRangeEdit;
16
class
MachineFunction;
17
class
MachineFunctionPass;
18
class
VirtRegMap;
19
20
/// Spiller interface.
21
///
22
/// Implementations are utility classes which insert spill or remat code on
23
/// demand.
24
class
Spiller
{
25
virtual
void
anchor();
26
public
:
27
virtual
~Spiller
() = 0;
28
29
/// spill - Spill the LRE.getParent() live interval.
30
virtual
void
spill
(
LiveRangeEdit
&LRE) = 0;
31
32
};
33
34
/// Create and return a spiller that will insert spill code directly instead
35
/// of deferring though VirtRegMap.
36
Spiller
*
createInlineSpiller
(
MachineFunctionPass
&
pass
,
37
MachineFunction
&mf,
38
VirtRegMap
&vrm);
39
40
}
41
42
#endif
llvm::MachineFunction
Definition:
MachineFunction.h:86
llvm::Spiller
Spiller interface.
Definition:
Spiller.h:24
llvm::Spiller::spill
virtual void spill(LiveRangeEdit &LRE)=0
spill - Spill the LRE.getParent() live interval.
llvm::MachineFunctionPass
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
Definition:
MachineFunctionPass.h:32
llvm::VirtRegMap
Definition:
VirtRegMap.h:32
pass
Two Address instruction pass
Definition:
TwoAddressInstructionPass.cpp:172
llvm::Spiller::~Spiller
virtual ~Spiller()=0
Definition:
InlineSpiller.cpp:188
llvm::createInlineSpiller
Spiller * createInlineSpiller(MachineFunctionPass &pass, MachineFunction &mf, VirtRegMap &vrm)
Create and return a spiller that will insert spill code directly instead of deferring though VirtRegM...
Definition:
InlineSpiller.cpp:191
llvm::LiveRangeEdit
Definition:
LiveRangeEdit.h:37
Generated on Mon Aug 31 2015 11:10:02 for LLVM by
1.8.6