|
LLVM
4.0.0
|
#include <DFAPacketizer.h>
Public Member Functions | |
| VLIWPacketizerList (MachineFunction &MF, MachineLoopInfo &MLI, AliasAnalysis *AA) | |
| virtual | ~VLIWPacketizerList () |
| void | PacketizeMIs (MachineBasicBlock *MBB, MachineBasicBlock::iterator BeginItr, MachineBasicBlock::iterator EndItr) |
| DFAPacketizer * | getResourceTracker () |
| 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 | |
| MachineFunction & | MF |
| const TargetInstrInfo * | TII |
| AliasAnalysis * | AA |
| DefaultVLIWScheduler * | VLIWScheduler |
| std::vector< MachineInstr * > | CurrentPacketMIs |
| DFAPacketizer * | ResourceTracker |
| std::map< MachineInstr *, SUnit * > | MIToSUnit |
Definition at line 129 of file DFAPacketizer.h.
| VLIWPacketizerList::VLIWPacketizerList | ( | MachineFunction & | MF, |
| MachineLoopInfo & | MLI, | ||
| AliasAnalysis * | AA | ||
| ) |
Definition at line 207 of file DFAPacketizer.cpp.
References AA, llvm::TargetInstrInfo::CreateTargetScheduleState(), llvm::MachineFunction::getSubtarget(), MF, ResourceTracker, TII, and VLIWScheduler.
|
virtual |
Definition at line 215 of file DFAPacketizer.cpp.
References ResourceTracker, and VLIWScheduler.
| void VLIWPacketizerList::addMutation | ( | std::unique_ptr< ScheduleDAGMutation > | Mutation | ) |
Definition at line 343 of file DFAPacketizer.cpp.
References llvm::DefaultVLIWScheduler::addMutation(), and VLIWScheduler.
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 160 of file DFAPacketizer.h.
References CurrentPacketMIs, MI, llvm::DFAPacketizer::reserveResources(), and ResourceTracker.
Referenced by PacketizeMIs().
|
virtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 224 of file DFAPacketizer.cpp.
References llvm::DFAPacketizer::clearResources(), CurrentPacketMIs, llvm::dbgs(), DEBUG, llvm::finalizeBundle(), llvm::MachineInstrBundleIterator< Ty, IsReverse >::getInstrIterator(), llvm::ilist_node_impl< OptionsT >::getIterator(), MI, and ResourceTracker.
Referenced by llvm::HexagonPacketizerList::endPacket(), and PacketizeMIs().
|
inline |
Definition at line 157 of file DFAPacketizer.h.
References ResourceTracker.
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 177 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 174 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 195 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 200 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
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 | ||
| ) |
Definition at line 244 of file DFAPacketizer.cpp.
References addToPacket(), assert(), llvm::DFAPacketizer::canReserveResources(), CurrentPacketMIs, llvm::dbgs(), DEBUG, llvm::SUnit::dumpAll(), endPacket(), llvm::ScheduleDAGInstrs::enterRegion(), llvm::ScheduleDAGInstrs::exitRegion(), llvm::ScheduleDAGInstrs::finishBlock(), llvm::SUnit::getInstr(), ignorePseudoInstruction(), initPacketizerState(), InstrCount, InstrLimit, isLegalToPacketizeTogether(), isLegalToPruneDependencies(), isSoloInstruction(), MI, MIToSUnit, ResourceTracker, llvm::DefaultVLIWScheduler::schedule(), shouldAddToPacket(), llvm::ScheduleDAGInstrs::startBlock(), llvm::ScheduleDAG::SUnits, and VLIWScheduler.
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 192 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
protected |
Definition at line 133 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
|
protected |
Definition at line 138 of file DFAPacketizer.h.
Referenced by llvm::HexagonPacketizerList::addToPacket(), addToPacket(), llvm::HexagonPacketizerList::arePredicatesComplements(), llvm::HexagonPacketizerList::canPromoteToDotCur(), llvm::HexagonPacketizerList::canPromoteToNewValueStore(), llvm::HexagonPacketizerList::cleanUpDotCur(), llvm::HexagonPacketizerList::endPacket(), endPacket(), llvm::HexagonPacketizerList::isLegalToPacketizeTogether(), PacketizeMIs(), llvm::HexagonPacketizerList::producesStall(), and llvm::HexagonPacketizerList::restrictingDepExistInPacket().
|
protected |
Definition at line 131 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
|
protected |
Definition at line 142 of file DFAPacketizer.h.
Referenced by llvm::HexagonPacketizerList::arePredicatesComplements(), llvm::HexagonPacketizerList::canPromoteToNewValueStore(), llvm::HexagonPacketizerList::isLegalToPacketizeTogether(), PacketizeMIs(), and llvm::HexagonPacketizerList::restrictingDepExistInPacket().
|
protected |
Definition at line 140 of file DFAPacketizer.h.
Referenced by llvm::HexagonPacketizerList::addToPacket(), addToPacket(), llvm::HexagonPacketizerList::canPromoteToDotNew(), endPacket(), getResourceTracker(), llvm::HexagonPacketizerList::ignorePseudoInstruction(), PacketizeMIs(), llvm::HexagonPacketizerList::tryAllocateResourcesForConstExt(), VLIWPacketizerList(), and ~VLIWPacketizerList().
|
protected |
Definition at line 132 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
|
protected |
Definition at line 136 of file DFAPacketizer.h.
Referenced by addMutation(), PacketizeMIs(), VLIWPacketizerList(), and ~VLIWPacketizerList().
1.8.6