LLVM  8.0.1
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]
Collaboration diagram for llvm::VLIWPacketizerList:
Collaboration graph
[legend]

Public Member Functions

 VLIWPacketizerList (MachineFunction &MF, MachineLoopInfo &MLI, AliasAnalysis *AA)
 
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
 
AliasAnalysisAA
 
DefaultVLIWSchedulerVLIWScheduler
 
std::vector< MachineInstr * > CurrentPacketMIs
 
DFAPacketizerResourceTracker
 
std::map< MachineInstr *, SUnit * > MIToSUnit
 

Detailed Description

Definition at line 134 of file DFAPacketizer.h.

Constructor & Destructor Documentation

◆ VLIWPacketizerList()

VLIWPacketizerList::VLIWPacketizerList ( MachineFunction MF,
MachineLoopInfo MLI,
AliasAnalysis AA 
)

◆ ~VLIWPacketizerList()

VLIWPacketizerList::~VLIWPacketizerList ( )
virtual

Definition at line 217 of file DFAPacketizer.cpp.

References ResourceTracker, and VLIWScheduler.

Member Function Documentation

◆ addMutation()

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

Definition at line 373 of file DFAPacketizer.cpp.

References llvm::DefaultVLIWScheduler::addMutation(), and VLIWScheduler.

◆ addToPacket()

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 165 of file DFAPacketizer.h.

References MI, and llvm::DFAPacketizer::reserveResources().

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

◆ getResourceTracker()

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

Definition at line 162 of file DFAPacketizer.h.

◆ ignorePseudoInstruction()

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 182 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

◆ initPacketizerState()

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 179 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 200 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 205 of file DFAPacketizer.h.

References Mutation, and UseTBAA.

Referenced by PacketizeMIs().

◆ isSoloInstruction()

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 189 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

◆ 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 197 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

Member Data Documentation

◆ AA

AliasAnalysis* llvm::VLIWPacketizerList::AA
protected

Definition at line 138 of file DFAPacketizer.h.

Referenced by PacketizeMIs(), and VLIWPacketizerList().

◆ CurrentPacketMIs

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

Definition at line 143 of file DFAPacketizer.h.

Referenced by endPacket(), and PacketizeMIs().

◆ MF

MachineFunction& llvm::VLIWPacketizerList::MF
protected

Definition at line 136 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

◆ MIToSUnit

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

Definition at line 147 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

◆ ResourceTracker

DFAPacketizer* llvm::VLIWPacketizerList::ResourceTracker
protected

Definition at line 145 of file DFAPacketizer.h.

Referenced by endPacket(), PacketizeMIs(), VLIWPacketizerList(), and ~VLIWPacketizerList().

◆ TII

const TargetInstrInfo* llvm::VLIWPacketizerList::TII
protected

Definition at line 137 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

◆ VLIWScheduler

DefaultVLIWScheduler* llvm::VLIWPacketizerList::VLIWScheduler
protected

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