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

#include <DFAPacketizer.h>

Inheritance diagram for llvm::VLIWPacketizerList:
[legend]
Collaboration diagram for llvm::VLIWPacketizerList:
[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)
 

Protected Attributes

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

Detailed Description

Definition at line 129 of file DFAPacketizer.h.

Constructor & Destructor Documentation

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

Definition at line 215 of file DFAPacketizer.cpp.

References ResourceTracker, and VLIWScheduler.

Member Function Documentation

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

Definition at line 343 of file DFAPacketizer.cpp.

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

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 160 of file DFAPacketizer.h.

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

Referenced by PacketizeMIs().

void VLIWPacketizerList::endPacket ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI 
)
virtual
DFAPacketizer* llvm::VLIWPacketizerList::getResourceTracker ( )
inline

Definition at line 157 of file DFAPacketizer.h.

References ResourceTracker.

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 177 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 174 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 195 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 200 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

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

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 184 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

void VLIWPacketizerList::PacketizeMIs ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  BeginItr,
MachineBasicBlock::iterator  EndItr 
)
virtual bool llvm::VLIWPacketizerList::shouldAddToPacket ( const MachineInstr MI)
inlinevirtual

Reimplemented in llvm::HexagonPacketizerList.

Definition at line 192 of file DFAPacketizer.h.

Referenced by PacketizeMIs().

Member Data Documentation

AliasAnalysis* llvm::VLIWPacketizerList::AA
protected

Definition at line 133 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

std::vector<MachineInstr*> llvm::VLIWPacketizerList::CurrentPacketMIs
protected
MachineFunction& llvm::VLIWPacketizerList::MF
protected

Definition at line 131 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

std::map<MachineInstr*, SUnit*> llvm::VLIWPacketizerList::MIToSUnit
protected
DFAPacketizer* llvm::VLIWPacketizerList::ResourceTracker
protected
const TargetInstrInfo* llvm::VLIWPacketizerList::TII
protected

Definition at line 132 of file DFAPacketizer.h.

Referenced by VLIWPacketizerList().

DefaultVLIWScheduler* llvm::VLIWPacketizerList::VLIWScheduler
protected

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