summaryrefslogtreecommitdiff
path: root/lib/CodeGen/Spiller.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-10 01:51:42 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-10 01:51:42 +0000
commit47dbf6cef761c25cfeb0aa7d624a6f98288bb96a (patch)
tree44f4f94894453c382c529d182ce7189764e1ab84 /lib/CodeGen/Spiller.h
parent38f6bd0fc8095ef79a89b3db15ff6dc734ac90e7 (diff)
downloadllvm-47dbf6cef761c25cfeb0aa7d624a6f98288bb96a.tar.gz
llvm-47dbf6cef761c25cfeb0aa7d624a6f98288bb96a.tar.bz2
llvm-47dbf6cef761c25cfeb0aa7d624a6f98288bb96a.tar.xz
Change the Spiller interface to take a LiveRangeEdit reference.
This makes it possible to register delegates and get callbacks when the spiller edits live ranges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127389 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Spiller.h')
-rw-r--r--lib/CodeGen/Spiller.h16
1 files changed, 3 insertions, 13 deletions
diff --git a/lib/CodeGen/Spiller.h b/lib/CodeGen/Spiller.h
index fc35075453..41f1727da4 100644
--- a/lib/CodeGen/Spiller.h
+++ b/lib/CodeGen/Spiller.h
@@ -12,11 +12,9 @@
namespace llvm {
- class LiveInterval;
+ class LiveRangeEdit;
class MachineFunction;
class MachineFunctionPass;
- class SlotIndex;
- template <typename T> class SmallVectorImpl;
class VirtRegMap;
/// Spiller interface.
@@ -27,16 +25,8 @@ namespace llvm {
public:
virtual ~Spiller() = 0;
- /// spill - Spill the given live interval. The method used will depend on
- /// the Spiller implementation selected.
- ///
- /// @param li The live interval to be spilled.
- /// @param spillIs A list of intervals that are about to be spilled,
- /// and so cannot be used for remat etc.
- /// @param newIntervals The newly created intervals will be appended here.
- virtual void spill(LiveInterval *li,
- SmallVectorImpl<LiveInterval*> &newIntervals,
- const SmallVectorImpl<LiveInterval*> *spillIs) = 0;
+ /// spill - Spill the LRE.getParent() live interval.
+ virtual void spill(LiveRangeEdit &LRE) = 0;
};