LLVM
15.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. More... | |
std::vector< unsigned > & | GetDefIndices () |
Return the define indices. More... | |
std::multimap< unsigned, RegisterReference > & | GetRegRefs () |
Return the RegRefs map. More... | |
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. More... | |
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.
|
inline |
Return the define indices.
Definition at line 86 of file AggressiveAntiDepBreaker.h.
Referenced by llvm::AggressiveAntiDepBreaker::Observe(), and llvm::AggressiveAntiDepBreaker::StartBlock().
unsigned AggressiveAntiDepState::GetGroup | ( | unsigned | Reg | ) |
Definition at line 70 of file AggressiveAntiDepBreaker.cpp.
Referenced by 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::StartBlock().
|
inline |
Return the RegRefs map.
Definition at line 89 of file AggressiveAntiDepBreaker.h.
bool AggressiveAntiDepState::IsLive | ( | unsigned | Reg | ) |
Return true if Reg is live.
Definition at line 114 of file AggressiveAntiDepBreaker.cpp.
Referenced by llvm::AggressiveAntiDepBreaker::Observe().
unsigned AggressiveAntiDepState::LeaveGroup | ( | unsigned | Reg | ) |
Definition at line 104 of file AggressiveAntiDepBreaker.cpp.
unsigned AggressiveAntiDepState::UnionGroups | ( | unsigned | Reg1, |
unsigned | Reg2 | ||
) |
Definition at line 89 of file AggressiveAntiDepBreaker.cpp.
References assert(), GetGroup(), and Other.
Referenced by llvm::AggressiveAntiDepBreaker::Observe(), and llvm::AggressiveAntiDepBreaker::StartBlock().