|
LLVM
4.0.0
|
#include <HexagonMachineScheduler.h>
Public Member Functions | |
| VLIWResourceModel (const TargetSubtargetInfo &STI, const TargetSchedModel *SM) | |
| ~VLIWResourceModel () | |
| void | resetPacketState () |
| void | resetDFA () |
| void | reset () |
| bool | isResourceAvailable (SUnit *SU) |
| Check if scheduling of this SU is possible in the current packet. More... | |
| bool | reserveResources (SUnit *SU) |
| Keep track of available resources. More... | |
| void | savePacket () |
| Save the last formed packet. More... | |
| unsigned | getTotalPackets () const |
| bool | isInPacket (SUnit *SU) const |
Public Attributes | |
| std::vector< SUnit * > | OldPacket |
| Save the last formed packet. More... | |
Definition at line 40 of file HexagonMachineScheduler.h.
|
inline |
Definition at line 60 of file HexagonMachineScheduler.h.
References assert(), llvm::DFAPacketizer::clearResources(), llvm::TargetInstrInfo::CreateTargetScheduleState(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetSchedModel::getIssueWidth(), and OldPacket.
|
inline |
Definition at line 75 of file HexagonMachineScheduler.h.
|
inline |
Definition at line 95 of file HexagonMachineScheduler.h.
Definition at line 97 of file HexagonMachineScheduler.h.
References llvm::is_contained().
Check if scheduling of this SU is possible in the current packet.
It is not precise (statefull), it is more like another heuristic. Many corner cases are figured empirically.
Definition at line 143 of file HexagonMachineScheduler.cpp.
References llvm::DFAPacketizer::canReserveResources(), E, llvm::SUnit::getInstr(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), I, i, and llvm::ISD::INLINEASM.
Referenced by reserveResources().
Keep track of available resources.
Definition at line 191 of file HexagonMachineScheduler.cpp.
References llvm::DFAPacketizer::clearResources(), llvm::dbgs(), DEBUG, llvm::dump(), llvm::ISD::EH_LABEL, llvm::SUnit::getInstr(), llvm::TargetSchedModel::getIssueWidth(), llvm::MachineInstr::getOpcode(), i, llvm::ISD::INLINEASM, isResourceAvailable(), llvm::AMDGPUISD::KILL, llvm::DFAPacketizer::reserveResources(), and savePacket().
|
inline |
Definition at line 87 of file HexagonMachineScheduler.h.
References llvm::DFAPacketizer::clearResources().
|
inline |
Definition at line 83 of file HexagonMachineScheduler.h.
References llvm::DFAPacketizer::clearResources().
|
inline |
Definition at line 79 of file HexagonMachineScheduler.h.
| void VLIWResourceModel::savePacket | ( | ) |
Save the last formed packet.
Definition at line 134 of file HexagonMachineScheduler.cpp.
References OldPacket.
Referenced by reserveResources().
| std::vector<SUnit*> llvm::VLIWResourceModel::OldPacket |
Save the last formed packet.
Definition at line 57 of file HexagonMachineScheduler.h.
Referenced by savePacket(), and VLIWResourceModel().
1.8.6