LLVM 22.0.0git
llvm::VLIWPacketizerList Class Reference

#include "llvm/CodeGen/DFAPacketizer.h"

Inheritance diagram for llvm::VLIWPacketizerList:
[legend]

Public Member Functions

 VLIWPacketizerList (MachineFunction &MF, MachineLoopInfo &MLI, AAResults *AA)
VLIWPacketizerListoperator= (const VLIWPacketizerList &other)=delete
 VLIWPacketizerList (const VLIWPacketizerList &other)=delete
virtual ~VLIWPacketizerList ()
void PacketizeMIs (MachineBasicBlock *MBB, MachineBasicBlock::iterator BeginItr, MachineBasicBlock::iterator EndItr)
DFAPacketizergetResourceTracker ()
virtual MachineBasicBlock::iterator addToPacket (MachineInstr &MI)
virtual void endPacket (MachineBasicBlock *MBB, MachineBasicBlock::iterator MI)
virtual void initPacketizerState ()
virtual bool ignorePseudoInstruction (const MachineInstr &I, const MachineBasicBlock *MBB)
virtual bool isSoloInstruction (const MachineInstr &MI)
virtual bool shouldAddToPacket (const MachineInstr &MI)
virtual bool isLegalToPacketizeTogether (SUnit *SUI, SUnit *SUJ)
virtual bool isLegalToPruneDependencies (SUnit *SUI, SUnit *SUJ)
void addMutation (std::unique_ptr< ScheduleDAGMutation > Mutation)
bool alias (const MachineInstr &MI1, const MachineInstr &MI2, bool UseTBAA=true) const

Protected Attributes

MachineFunctionMF
const TargetInstrInfoTII
AAResultsAA
DefaultVLIWSchedulerVLIWScheduler
std::vector< MachineInstr * > CurrentPacketMIs
DFAPacketizerResourceTracker
std::map< MachineInstr *, SUnit * > MIToSUnit

Detailed Description

Definition at line 136 of file DFAPacketizer.h.

Constructor & Destructor Documentation

◆ VLIWPacketizerList() [1/2]

VLIWPacketizerList::VLIWPacketizerList ( MachineFunction & MF,
MachineLoopInfo & MLI,
AAResults * AA )

◆ VLIWPacketizerList() [2/2]

llvm::VLIWPacketizerList::VLIWPacketizerList ( const VLIWPacketizerList & other)
delete

References MBB, and VLIWPacketizerList().

◆ ~VLIWPacketizerList()

VLIWPacketizerList::~VLIWPacketizerList ( )
virtual

Definition at line 126 of file DFAPacketizer.cpp.

References ResourceTracker, and VLIWScheduler.

Member Function Documentation

◆ addMutation()

void VLIWPacketizerList::addMutation ( std::unique_ptr< ScheduleDAGMutation > Mutation)

Definition at line 286 of file DFAPacketizer.cpp.

References Mutation, and VLIWScheduler.

Referenced by llvm::HexagonPacketizerList::HexagonPacketizerList().

◆ addToPacket()

virtual MachineBasicBlock::iterator llvm::VLIWPacketizerList::addToPacket ( MachineInstr & MI)
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 168 of file DFAPacketizer.h.

References CurrentPacketMIs, MI, and ResourceTracker.

Referenced by PacketizeMIs().

◆ alias()

bool VLIWPacketizerList::alias ( const MachineInstr & MI1,
const MachineInstr & MI2,
bool UseTBAA = true ) const

◆ endPacket()

◆ getResourceTracker()

DFAPacketizer * llvm::VLIWPacketizerList::getResourceTracker ( )
inline

Definition at line 165 of file DFAPacketizer.h.

References ResourceTracker.

◆ ignorePseudoInstruction()

virtual bool llvm::VLIWPacketizerList::ignorePseudoInstruction ( const MachineInstr & I,
const MachineBasicBlock * MBB )
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 185 of file DFAPacketizer.h.

References I, and MBB.

Referenced by PacketizeMIs().

◆ initPacketizerState()

virtual void llvm::VLIWPacketizerList::initPacketizerState ( )
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 182 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

◆ isLegalToPacketizeTogether()

virtual bool llvm::VLIWPacketizerList::isLegalToPacketizeTogether ( SUnit * SUI,
SUnit * SUJ )
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 203 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

◆ isLegalToPruneDependencies()

virtual bool llvm::VLIWPacketizerList::isLegalToPruneDependencies ( SUnit * SUI,
SUnit * SUJ )
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 208 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

◆ isSoloInstruction()

virtual bool llvm::VLIWPacketizerList::isSoloInstruction ( const MachineInstr & MI)
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 192 of file DFAPacketizer.h.

References MI.

Referenced by PacketizeMIs().

◆ operator=()

VLIWPacketizerList & llvm::VLIWPacketizerList::operator= ( const VLIWPacketizerList & other)
delete

References VLIWPacketizerList().

◆ PacketizeMIs()

◆ shouldAddToPacket()

virtual bool llvm::VLIWPacketizerList::shouldAddToPacket ( const MachineInstr & MI)
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 200 of file DFAPacketizer.h.

References MI.

Referenced by PacketizeMIs().

Member Data Documentation

◆ AA

AAResults* llvm::VLIWPacketizerList::AA
protected

◆ CurrentPacketMIs

◆ MF

◆ MIToSUnit

◆ ResourceTracker

◆ TII

const TargetInstrInfo* llvm::VLIWPacketizerList::TII
protected

Definition at line 139 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

◆ VLIWScheduler

DefaultVLIWScheduler* llvm::VLIWPacketizerList::VLIWScheduler
protected

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