LLVM 20.0.0git
Public Member Functions | Protected Attributes | List of all members
llvm::VLIWPacketizerList Class Reference

#include "llvm/CodeGen/DFAPacketizer.h"

Inheritance diagram for llvm::VLIWPacketizerList:
Inheritance graph
[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

◆ ~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)

◆ 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, llvm::DFAPacketizer::reserveResources(), and ResourceTracker.

Referenced by PacketizeMIs().

◆ alias()

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

◆ endPacket()

void VLIWPacketizerList::endPacket ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI 
)
virtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 132 of file DFAPacketizer.cpp.

References CurrentPacketMIs, and LLVM_DEBUG.

Referenced by PacketizeMIs().

◆ 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.

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.

Referenced by PacketizeMIs().

◆ operator=()

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

◆ PacketizeMIs()

void VLIWPacketizerList::PacketizeMIs ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  BeginItr,
MachineBasicBlock::iterator  EndItr 
)

◆ shouldAddToPacket()

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 200 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

Member Data Documentation

◆ AA

AAResults* llvm::VLIWPacketizerList::AA
protected

Definition at line 140 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

◆ CurrentPacketMIs

std::vector<MachineInstr*> llvm::VLIWPacketizerList::CurrentPacketMIs
protected

◆ MF

MachineFunction& llvm::VLIWPacketizerList::MF
protected

◆ MIToSUnit

std::map<MachineInstr*, SUnit*> llvm::VLIWPacketizerList::MIToSUnit
protected

◆ ResourceTracker

DFAPacketizer* llvm::VLIWPacketizerList::ResourceTracker
protected

◆ 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: