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().