LLVM 22.0.0git
llvm::CriticalAntiDepBreaker Class Reference

#include "CodeGen/CriticalAntiDepBreaker.h"

Inheritance diagram for llvm::CriticalAntiDepBreaker:
[legend]

Public Member Functions

 CriticalAntiDepBreaker (MachineFunction &MFi, const RegisterClassInfo &RCI)
 ~CriticalAntiDepBreaker () override
void StartBlock (MachineBasicBlock *BB) override
 Initialize anti-dep breaking for a new basic block.
unsigned BreakAntiDependencies (const std::vector< SUnit > &SUnits, MachineBasicBlock::iterator Begin, MachineBasicBlock::iterator End, unsigned InsertPosIndex, DbgValueVector &DbgValues) override
 Identifiy anti-dependencies along the critical path of the ScheduleDAG and break them by renaming registers.
void Observe (MachineInstr &MI, unsigned Count, unsigned InsertPosIndex) override
 Update liveness information to account for the current instruction, which will not be scheduled.
void FinishBlock () override
 Finish anti-dep breaking for a basic block.
Public Member Functions inherited from llvm::AntiDepBreaker
virtual ~AntiDepBreaker ()
void UpdateDbgValue (MachineInstr &MI, MCRegister OldReg, MCRegister NewReg)
 Update DBG_VALUE or DBG_PHI if dependency breaker is updating other machine instruction to use NewReg.
void UpdateDbgValues (const DbgValueVector &DbgValues, MachineInstr *ParentMI, MCRegister OldReg, MCRegister NewReg)
 Update all DBG_VALUE instructions that may be affected by the dependency breaker's update of ParentMI to use NewReg.

Additional Inherited Members

Public Types inherited from llvm::AntiDepBreaker
using DbgValueVector

Detailed Description

Definition at line 36 of file CriticalAntiDepBreaker.h.

Constructor & Destructor Documentation

◆ CriticalAntiDepBreaker()

CriticalAntiDepBreaker::CriticalAntiDepBreaker ( MachineFunction & MFi,
const RegisterClassInfo & RCI )

Definition at line 41 of file CriticalAntiDepBreaker.cpp.

◆ ~CriticalAntiDepBreaker()

CriticalAntiDepBreaker::~CriticalAntiDepBreaker ( )
overridedefault

Member Function Documentation

◆ BreakAntiDependencies()

◆ FinishBlock()

void CriticalAntiDepBreaker::FinishBlock ( )
overridevirtual

Finish anti-dep breaking for a basic block.

Implements llvm::AntiDepBreaker.

Definition at line 96 of file CriticalAntiDepBreaker.cpp.

References llvm::BitVector::clear().

Referenced by ~CriticalAntiDepBreaker().

◆ Observe()

void CriticalAntiDepBreaker::Observe ( MachineInstr & MI,
unsigned Count,
unsigned InsertPosIndex )
overridevirtual

Update liveness information to account for the current instruction, which will not be scheduled.

Implements llvm::AntiDepBreaker.

Definition at line 101 of file CriticalAntiDepBreaker.cpp.

References assert(), llvm::Count, and MI.

Referenced by ~CriticalAntiDepBreaker().

◆ StartBlock()

void CriticalAntiDepBreaker::StartBlock ( MachineBasicBlock * BB)
overridevirtual

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