LLVM 22.0.0git
llvm::Spiller Class Referenceabstract

Spiller interface. More...

#include "llvm/CodeGen/Spiller.h"

Classes

struct  RequiredAnalyses

Public Member Functions

virtual ~Spiller ()=0
virtual void spill (LiveRangeEdit &LRE, AllocationOrder *Order=nullptr)=0
 spill - Spill the LRE.getParent() live interval.
virtual ArrayRef< RegistergetSpilledRegs ()=0
 Return the registers that were spilled.
virtual ArrayRef< RegistergetReplacedRegs ()=0
 Return registers that were not spilled, but otherwise replaced (e.g.
virtual void postOptimization ()

Detailed Description

Spiller interface.

Implementations are utility classes which insert spill or remat code on demand.

Definition at line 33 of file Spiller.h.

Constructor & Destructor Documentation

◆ ~Spiller()

Spiller::~Spiller ( )
pure virtualdefault

Member Function Documentation

◆ getReplacedRegs()

virtual ArrayRef< Register > llvm::Spiller::getReplacedRegs ( )
pure virtual

Return registers that were not spilled, but otherwise replaced (e.g.

rematerialized).

◆ getSpilledRegs()

virtual ArrayRef< Register > llvm::Spiller::getSpilledRegs ( )
pure virtual

Return the registers that were spilled.

◆ postOptimization()

virtual void llvm::Spiller::postOptimization ( )
inlinevirtual

Definition at line 49 of file Spiller.h.

Referenced by llvm::RegAllocBase::postOptimization().

◆ spill()

virtual void llvm::Spiller::spill ( LiveRangeEdit & LRE,
AllocationOrder * Order = nullptr )
pure virtual

spill - Spill the LRE.getParent() live interval.

Referenced by llvm::RABasic::selectOrSplit(), and llvm::RABasic::spillInterferences().


The documentation for this class was generated from the following files: