LLVM 20.0.0git
|
Contains all the state necessary for anti-dep breaking. More...
#include "CodeGen/AggressiveAntiDepBreaker.h"
Classes | |
struct | RegisterReference |
Information about a register reference within a liverange. More... | |
Public Member Functions | |
AggressiveAntiDepState (const unsigned TargetRegs, MachineBasicBlock *BB) | |
std::vector< unsigned > & | GetKillIndices () |
Return the kill indices. | |
std::vector< unsigned > & | GetDefIndices () |
Return the define indices. | |
std::multimap< unsigned, RegisterReference > & | GetRegRefs () |
Return the RegRefs map. | |
unsigned | GetGroup (unsigned Reg) |
void | GetGroupRegs (unsigned Group, std::vector< unsigned > &Regs, std::multimap< unsigned, AggressiveAntiDepState::RegisterReference > *RegRefs) |
unsigned | UnionGroups (unsigned Reg1, unsigned Reg2) |
unsigned | LeaveGroup (unsigned Reg) |
bool | IsLive (unsigned Reg) |
Return true if Reg is live. | |
Contains all the state necessary for anti-dep breaking.
Definition at line 40 of file AggressiveAntiDepBreaker.h.
AggressiveAntiDepState::AggressiveAntiDepState | ( | const unsigned | TargetRegs, |
MachineBasicBlock * | BB | ||
) |
Definition at line 54 of file AggressiveAntiDepBreaker.cpp.
References llvm::MachineBasicBlock::size().
|
inline |
Return the define indices.
Definition at line 86 of file AggressiveAntiDepBreaker.h.
Referenced by llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::AggressiveAntiDepBreaker::Observe(), and llvm::AggressiveAntiDepBreaker::StartBlock().
Definition at line 70 of file AggressiveAntiDepBreaker.cpp.
Referenced by llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), GetGroupRegs(), llvm::AggressiveAntiDepBreaker::Observe(), and UnionGroups().
void AggressiveAntiDepState::GetGroupRegs | ( | unsigned | Group, |
std::vector< unsigned > & | Regs, | ||
std::multimap< unsigned, AggressiveAntiDepState::RegisterReference > * | RegRefs | ||
) |
Definition at line 78 of file AggressiveAntiDepBreaker.cpp.
References GetGroup().
|
inline |
Return the kill indices.
Definition at line 83 of file AggressiveAntiDepBreaker.h.
Referenced by llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), and llvm::AggressiveAntiDepBreaker::StartBlock().
|
inline |
Return the RegRefs map.
Definition at line 89 of file AggressiveAntiDepBreaker.h.
Referenced by llvm::AggressiveAntiDepBreaker::BreakAntiDependencies().
Return true if Reg is live.
Definition at line 114 of file AggressiveAntiDepBreaker.cpp.
Referenced by llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), and llvm::AggressiveAntiDepBreaker::Observe().
Definition at line 104 of file AggressiveAntiDepBreaker.cpp.
Definition at line 89 of file AggressiveAntiDepBreaker.cpp.
References assert(), GetGroup(), and llvm::Other.
Referenced by llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::AggressiveAntiDepBreaker::Observe(), and llvm::AggressiveAntiDepBreaker::StartBlock().