LLVM API Documentation
#include <DFAPacketizer.h>
Public Member Functions | |
VLIWPacketizerList (MachineFunction &MF, MachineLoopInfo &MLI, bool IsPostRA) | |
virtual | ~VLIWPacketizerList () |
void | PacketizeMIs (MachineBasicBlock *MBB, MachineBasicBlock::iterator BeginItr, MachineBasicBlock::iterator EndItr) |
DFAPacketizer * | getResourceTracker () |
virtual MachineBasicBlock::iterator | addToPacket (MachineInstr *MI) |
void | endPacket (MachineBasicBlock *MBB, MachineInstr *MI) |
virtual void | initPacketizerState () |
virtual bool | ignorePseudoInstruction (MachineInstr *I, MachineBasicBlock *MBB) |
virtual bool | isSoloInstruction (MachineInstr *MI) |
virtual bool | isLegalToPacketizeTogether (SUnit *SUI, SUnit *SUJ) |
virtual bool | isLegalToPruneDependencies (SUnit *SUI, SUnit *SUJ) |
Protected Attributes | |
const TargetMachine & | TM |
const MachineFunction & | MF |
const TargetInstrInfo * | TII |
DefaultVLIWScheduler * | VLIWScheduler |
std::vector< MachineInstr * > | CurrentPacketMIs |
DFAPacketizer * | ResourceTracker |
std::map< MachineInstr *, SUnit * > | MIToSUnit |
Definition at line 92 of file DFAPacketizer.h.
VLIWPacketizerList::VLIWPacketizerList | ( | MachineFunction & | MF, |
MachineLoopInfo & | MLI, | ||
bool | IsPostRA | ||
) |
Definition at line 127 of file DFAPacketizer.cpp.
References llvm::TargetInstrInfo::CreateTargetScheduleState(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetMachine::getSubtargetImpl(), ResourceTracker, TII, TM, and VLIWScheduler.
VLIWPacketizerList::~VLIWPacketizerList | ( | ) | [virtual] |
Definition at line 136 of file DFAPacketizer.cpp.
References ResourceTracker, and VLIWScheduler.
virtual MachineBasicBlock::iterator llvm::VLIWPacketizerList::addToPacket | ( | MachineInstr * | MI | ) | [inline, virtual] |
Definition at line 123 of file DFAPacketizer.h.
References CurrentPacketMIs, llvm::AArch64CC::MI, llvm::DFAPacketizer::reserveResources(), and ResourceTracker.
Referenced by PacketizeMIs().
void VLIWPacketizerList::endPacket | ( | MachineBasicBlock * | MBB, |
MachineInstr * | MI | ||
) |
Definition at line 146 of file DFAPacketizer.cpp.
References llvm::DFAPacketizer::clearResources(), CurrentPacketMIs, llvm::finalizeBundle(), and ResourceTracker.
Referenced by PacketizeMIs().
DFAPacketizer* llvm::VLIWPacketizerList::getResourceTracker | ( | ) | [inline] |
Definition at line 120 of file DFAPacketizer.h.
References ResourceTracker.
virtual bool llvm::VLIWPacketizerList::ignorePseudoInstruction | ( | MachineInstr * | I, |
MachineBasicBlock * | MBB | ||
) | [inline, virtual] |
Definition at line 139 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
virtual void llvm::VLIWPacketizerList::initPacketizerState | ( | ) | [inline, virtual] |
Definition at line 136 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
virtual bool llvm::VLIWPacketizerList::isLegalToPacketizeTogether | ( | SUnit * | SUI, |
SUnit * | SUJ | ||
) | [inline, virtual] |
Definition at line 152 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
virtual bool llvm::VLIWPacketizerList::isLegalToPruneDependencies | ( | SUnit * | SUI, |
SUnit * | SUJ | ||
) | [inline, virtual] |
Definition at line 158 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
virtual bool llvm::VLIWPacketizerList::isSoloInstruction | ( | MachineInstr * | MI | ) | [inline, virtual] |
Definition at line 146 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
void VLIWPacketizerList::PacketizeMIs | ( | MachineBasicBlock * | MBB, |
MachineBasicBlock::iterator | BeginItr, | ||
MachineBasicBlock::iterator | EndItr | ||
) |
Definition at line 157 of file DFAPacketizer.cpp.
References addToPacket(), llvm::DFAPacketizer::canReserveResources(), CurrentPacketMIs, endPacket(), llvm::ScheduleDAGInstrs::enterRegion(), llvm::ScheduleDAGInstrs::exitRegion(), llvm::ScheduleDAGInstrs::finishBlock(), llvm::SUnit::getInstr(), ignorePseudoInstruction(), initPacketizerState(), isLegalToPacketizeTogether(), isLegalToPruneDependencies(), isSoloInstruction(), llvm::AArch64CC::MI, MIToSUnit, ResourceTracker, llvm::DefaultVLIWScheduler::schedule(), llvm::ScheduleDAGInstrs::startBlock(), llvm::ScheduleDAG::SUnits, and VLIWScheduler.
std::vector<MachineInstr*> llvm::VLIWPacketizerList::CurrentPacketMIs [protected] |
Definition at line 102 of file DFAPacketizer.h.
Referenced by addToPacket(), endPacket(), and PacketizeMIs().
const MachineFunction& llvm::VLIWPacketizerList::MF [protected] |
Definition at line 95 of file DFAPacketizer.h.
std::map<MachineInstr*, SUnit*> llvm::VLIWPacketizerList::MIToSUnit [protected] |
Definition at line 107 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
DFAPacketizer* llvm::VLIWPacketizerList::ResourceTracker [protected] |
Definition at line 104 of file DFAPacketizer.h.
Referenced by addToPacket(), endPacket(), getResourceTracker(), PacketizeMIs(), VLIWPacketizerList(), and ~VLIWPacketizerList().
const TargetInstrInfo* llvm::VLIWPacketizerList::TII [protected] |
Definition at line 96 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
const TargetMachine& llvm::VLIWPacketizerList::TM [protected] |
Definition at line 94 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
Definition at line 99 of file DFAPacketizer.h.
Referenced by PacketizeMIs(), VLIWPacketizerList(), and ~VLIWPacketizerList().