diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-06-24 20:54:29 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-06-24 20:54:29 +0000 |
commit | 2b87d44c5de111da0389f832e7311101f61e6a55 (patch) | |
tree | 991b7477e3476d394ff490a3aa0f1f0dd69f563e /llvm/lib/CodeGen/Spiller.h | |
parent | 4398fd7b836561635662f23ed77ed5786aafc8f2 (diff) | |
download | bcm5719-llvm-2b87d44c5de111da0389f832e7311101f61e6a55.tar.gz bcm5719-llvm-2b87d44c5de111da0389f832e7311101f61e6a55.zip |
Don't return a std::vector in the Spiller interface, but take a reference to a
vector instead. This avoids needless copying and allocation.
Add documentation.
llvm-svn: 106788
Diffstat (limited to 'llvm/lib/CodeGen/Spiller.h')
-rw-r--r-- | llvm/lib/CodeGen/Spiller.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/Spiller.h b/llvm/lib/CodeGen/Spiller.h index dda52e871fe..02decad41ab 100644 --- a/llvm/lib/CodeGen/Spiller.h +++ b/llvm/lib/CodeGen/Spiller.h @@ -33,11 +33,19 @@ namespace llvm { public: virtual ~Spiller() = 0; - /// Spill the given live range. The method used will depend on the Spiller - /// implementation selected. - virtual std::vector<LiveInterval*> spill(LiveInterval *li, - SmallVectorImpl<LiveInterval*> &spillIs, - SlotIndex *earliestIndex = 0) = 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 An essential hook into the register allocator guts + /// that perhaps serves a purpose(?!) + /// @param newIntervals The newly created intervals will be appended here. + /// @param earliestIndex The earliest point for splitting. (OK, it's another + /// pointer to the allocator guts). + virtual void spill(LiveInterval *li, + std::vector<LiveInterval*> &newIntervals, + SmallVectorImpl<LiveInterval*> &spillIs, + SlotIndex *earliestIndex = 0) = 0; }; |