LLVM
8.0.1
|
#include "Target/Hexagon/HexagonMachineScheduler.h"
Public Member Functions | |
VLIWResourceModel (const TargetSubtargetInfo &STI, const TargetSchedModel *SM) | |
~VLIWResourceModel () | |
void | resetPacketState () |
void | resetDFA () |
void | reset () |
bool | isResourceAvailable (SUnit *SU, bool IsTop) |
Check if scheduling of this SU is possible in the current packet. More... | |
bool | reserveResources (SUnit *SU, bool IsTop) |
Keep track of available resources. More... | |
unsigned | getTotalPackets () const |
bool | isInPacket (SUnit *SU) const |
Definition at line 36 of file HexagonMachineScheduler.h.
|
inline |
Definition at line 52 of file HexagonMachineScheduler.h.
References assert(), llvm::DFAPacketizer::clearResources(), llvm::TargetInstrInfo::CreateTargetScheduleState(), llvm::TargetSubtargetInfo::getInstrInfo(), and llvm::TargetSchedModel::getIssueWidth().
Referenced by llvm::ConvergingVLIWScheduler::initialize().
|
inline |
Definition at line 65 of file HexagonMachineScheduler.h.
|
inline |
Definition at line 84 of file HexagonMachineScheduler.h.
Definition at line 85 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 98 of file HexagonMachineScheduler.cpp.
References llvm::DFAPacketizer::canReserveResources(), llvm::SUnit::getInstr(), llvm::HexagonSubtarget::getInstrInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineFunction::getSubtarget(), hasDependence(), and llvm::ISD::INLINEASM.
Referenced by reserveResources(), and reset().
Keep track of available resources.
Definition at line 138 of file HexagonMachineScheduler.cpp.
References llvm::DFAPacketizer::clearResources(), llvm::dbgs(), llvm::dump(), llvm::ISD::EH_LABEL, llvm::SUnit::getInstr(), llvm::TargetSchedModel::getIssueWidth(), llvm::MachineInstr::getOpcode(), llvm::ISD::INLINEASM, isResourceAvailable(), llvm::AMDGPUISD::KILL, LLVM_DEBUG, and llvm::DFAPacketizer::reserveResources().
Referenced by reset().
|
inline |
Definition at line 77 of file HexagonMachineScheduler.h.
References llvm::DFAPacketizer::clearResources(), isResourceAvailable(), and reserveResources().
|
inline |
Definition at line 73 of file HexagonMachineScheduler.h.
References llvm::DFAPacketizer::clearResources().
|
inline |
Definition at line 69 of file HexagonMachineScheduler.h.