15#ifndef LLVM_CODEGEN_REGALLOCBASIC_H 
   16#define LLVM_CODEGEN_REGALLOCBASIC_H 
   28    return A->weight() < 
B->weight();
 
 
 
   44  std::unique_ptr<Spiller> SpillerInstance;
 
   45  std::priority_queue<const LiveInterval *, std::vector<const LiveInterval *>,
 
   53  bool LRE_CanEraseVirtReg(
Register) 
override;
 
   54  void LRE_WillShrinkVirtReg(
Register) 
override;
 
   65  void releaseMemory() 
override;
 
 
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
 
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
 
#define LLVM_LIBRARY_VISIBILITY
 
Represent the analysis usage information of a pass.
 
LiveInterval - This class represents the liveness of a register, or stack slot.
 
Callback methods for LiveRangeEdit owners.
 
Wrapper class representing physical registers. Should be passed by value.
 
MachineFunctionPass(char &ID)
 
Properties which a MachineFunction may have at a given point in time.
 
MachineFunctionProperties & set(Property P)
 
const LiveInterval * dequeue() override
dequeue - Return the next unassigned register, or NULL.
 
Spiller & spiller() override
 
RABasic(const RegAllocFilterFunc F=nullptr)
 
void enqueueImpl(const LiveInterval *LI) override
enqueue - Add VirtReg to the priority queue of unassigned registers.
 
MachineFunctionProperties getClearedProperties() const override
 
MachineFunctionProperties getRequiredProperties() const override
 
StringRef getPassName() const override
Return the pass name.
 
RegAllocBase(const RegAllocFilterFunc F=nullptr)
 
Wrapper class representing virtual and physical registers.
 
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
 
StringRef - Represent a constant reference to a string, i.e.
 
This is an optimization pass for GlobalISel generic memory operations.
 
std::function< bool(const TargetRegisterInfo &TRI, const MachineRegisterInfo &MRI, const Register Reg)> RegAllocFilterFunc
Filter function for register classes during regalloc.
 
bool operator()(const LiveInterval *A, const LiveInterval *B) const