/// Class AggressiveAntiDepState
/// Contains all the state necessary for anti-dep breaking.
- class LLVM_LIBRARY_VISIBILITY AggressiveAntiDepState {
+ class AggressiveAntiDepState {
public:
/// RegisterReference - Information about a register reference
/// within a liverange
/// Class AggressiveAntiDepBreaker
- class LLVM_LIBRARY_VISIBILITY AggressiveAntiDepBreaker
- : public AntiDepBreaker {
+ class AggressiveAntiDepBreaker : public AntiDepBreaker {
MachineFunction& MF;
MachineRegisterInfo &MRI;
const TargetInstrInfo *TII;
~AggressiveAntiDepBreaker();
/// Start - Initialize anti-dep breaking for a new basic block.
- void StartBlock(MachineBasicBlock *BB);
+ void StartBlock(MachineBasicBlock *BB) override;
/// BreakAntiDependencies - Identifiy anti-dependencies along the critical
/// path
MachineBasicBlock::iterator Begin,
MachineBasicBlock::iterator End,
unsigned InsertPosIndex,
- DbgValueVector &DbgValues);
+ DbgValueVector &DbgValues) override;
/// Observe - Update liveness information to account for the current
/// instruction, which will not be scheduled.
///
- void Observe(MachineInstr *MI, unsigned Count, unsigned InsertPosIndex);
+ void Observe(MachineInstr *MI, unsigned Count,
+ unsigned InsertPosIndex) override;
/// Finish - Finish anti-dep breaking for a basic block.
- void FinishBlock();
+ void FinishBlock() override;
private:
/// Keep track of a position in the allocation order for each regclass.
void GetPassthruRegs(MachineInstr *MI, std::set<unsigned>& PassthruRegs);
void HandleLastUse(unsigned Reg, unsigned KillIdx, const char *tag,
- const char *header =NULL, const char *footer =NULL);
+ const char *header = nullptr,
+ const char *footer = nullptr);
void PrescanInstruction(MachineInstr *MI, unsigned Count,
std::set<unsigned>& PassthruRegs);