LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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
class
LiveIntervals;
20
21
/// Spiller interface.
22
///
23
/// Implementations are utility classes which insert spill or remat code on
24
/// demand.
25
class
Spiller
{
26
virtual
void
anchor();
27
public
:
28
virtual
~Spiller
() = 0;
29
30
/// spill - Spill the LRE.getParent() live interval.
31
virtual
void
spill
(
LiveRangeEdit
&LRE) = 0;
32
virtual
void
postOptimization
(){};
33
};
34
35
/// Create and return a spiller that will insert spill code directly instead
36
/// of deferring though VirtRegMap.
37
Spiller *
createInlineSpiller
(MachineFunctionPass &
pass
,
38
MachineFunction &mf,
39
VirtRegMap &vrm);
40
}
41
42
#endif
llvm::Spiller
Spiller interface.
Definition:
Spiller.h:25
llvm::Spiller::spill
virtual void spill(LiveRangeEdit &LRE)=0
spill - Spill the LRE.getParent() live interval.
pass
safe Safe Stack instrumentation pass
Definition:
SafeStack.cpp:796
llvm::Spiller::~Spiller
virtual ~Spiller()=0
Definition:
InlineSpiller.cpp:211
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:214
llvm::LiveRangeEdit
Definition:
LiveRangeEdit.h:37
llvm::Spiller::postOptimization
virtual void postOptimization()
Definition:
Spiller.h:32
Generated on Wed Mar 8 2017 17:27:27 for LLVM by
1.8.6