LLVM API Documentation
#include <TargetSchedInfo.h>
Inheritance diagram for llvm::TargetSchedInfo:
Definition at line 155 of file TargetSchedInfo.h.
TargetSchedInfo::TargetSchedInfo | ( | const TargetMachine & | tgt, | |
int | _numSchedClasses, | |||
const InstrClassRUsage * | _classRUsages, | |||
const InstrRUsageDelta * | _usageDeltas, | |||
const InstrIssueDelta * | _issueDeltas, | |||
unsigned | _numUsageDeltas, | |||
unsigned | _numIssueDeltas | |||
) |
Definition at line 98 of file TargetSchedInfo.cpp.
virtual llvm::TargetSchedInfo::~TargetSchedInfo | ( | ) | [inline, virtual] |
Definition at line 183 of file TargetSchedInfo.h.
bool llvm::TargetSchedInfo::breaksIssueGroup | ( | MachineOpCode | opCode | ) | const [inline] |
Definition at line 233 of file TargetSchedInfo.h.
References llvm::InstrRUsage::breaksGroup, and getInstrRUsage().
Referenced by llvm::FindSlotChoices().
const InstrClassRUsage& llvm::TargetSchedInfo::getClassRUsage | ( | const InstrSchedClass & | sc | ) | const [inline, protected] |
const std::vector<MachineOpCode>& llvm::TargetSchedInfo::getConflictList | ( | MachineOpCode | opCode | ) | const [inline] |
unsigned llvm::TargetSchedInfo::getCPUResourceNum | ( | int | rd | ) | const [inline] |
const TargetInstrInfo& llvm::TargetSchedInfo::getInstrInfo | ( | ) | const [inline] |
Definition at line 185 of file TargetSchedInfo.h.
References mii.
Referenced by llvm::SchedulingManager::getInstrInfo(), getSchedClass(), and llvm::RecordSchedule().
const InstrRUsage& llvm::TargetSchedInfo::getInstrRUsage | ( | MachineOpCode | opCode | ) | const [inline, protected] |
Definition at line 163 of file TargetSchedInfo.h.
References instrRUsages.
Referenced by breaksIssueGroup(), instrCanUseSlot(), isSingleIssue(), and numBubblesAfter().
int llvm::TargetSchedInfo::getLongestIssueConflict | ( | ) | const [inline] |
unsigned llvm::TargetSchedInfo::getMaxIssueForClass | ( | const InstrSchedClass & | sc | ) | const [inline] |
Definition at line 197 of file TargetSchedInfo.h.
References classRUsages, llvm::InstrClassRUsage::maxNumIssue, and numSchedClasses.
Referenced by llvm::ConflictsWithChoices().
unsigned llvm::TargetSchedInfo::getMaxNumIssueTotal | ( | ) | const [inline] |
Definition at line 193 of file TargetSchedInfo.h.
References maxNumIssueTotal.
Referenced by initializeResources().
int llvm::TargetSchedInfo::getMinIssueGap | ( | MachineOpCode | fromOp, | |
MachineOpCode | toOp | |||
) | const [inline] |
int llvm::TargetSchedInfo::getNumSchedClasses | ( | ) | const [inline] |
InstrSchedClass llvm::TargetSchedInfo::getSchedClass | ( | MachineOpCode | opCode | ) | const [inline] |
Definition at line 202 of file TargetSchedInfo.h.
References getInstrInfo(), and llvm::TargetInstrInfo::getSchedClass().
Referenced by llvm::SchedulingManager::addChoice(), llvm::ConflictsWithChoices(), and llvm::SchedulingManager::scheduleInstr().
void TargetSchedInfo::initializeResources | ( | ) | [protected, virtual] |
Reimplemented in llvm::SparcV9SchedInfo.
Definition at line 113 of file TargetSchedInfo.cpp.
References classRUsages, getMaxNumIssueTotal(), llvm::MAX_NUM_SLOTS, and numSchedClasses.
Referenced by llvm::SparcV9SchedInfo::initializeResources().
bool llvm::TargetSchedInfo::instrCanUseSlot | ( | MachineOpCode | opCode, | |
unsigned | s | |||
) | const [inline] |
Definition at line 206 of file TargetSchedInfo.h.
References llvm::InstrRUsage::feasibleSlots, and getInstrRUsage().
Referenced by llvm::FindSlotChoices(), and llvm::DelaySlotInfo::scheduleDelayedNode().
bool llvm::TargetSchedInfo::isSingleIssue | ( | MachineOpCode | opCode | ) | const [inline] |
Definition at line 229 of file TargetSchedInfo.h.
References getInstrRUsage(), and llvm::InstrRUsage::isSingleIssue.
Referenced by llvm::ConflictsWithChoices(), llvm::FindSlotChoices(), and llvm::NodeCanFillDelaySlot().
unsigned llvm::TargetSchedInfo::numBubblesAfter | ( | MachineOpCode | opCode | ) | const [inline] |
Definition at line 237 of file TargetSchedInfo.h.
References getInstrRUsage(), and llvm::InstrRUsage::numBubbles.
friend class ModuloSchedulingPass [friend] |
Definition at line 282 of file TargetSchedInfo.h.
friend class ModuloSchedulingSBPass [friend] |
Definition at line 283 of file TargetSchedInfo.h.
friend class MSchedGraphSB [friend] |
Definition at line 286 of file TargetSchedInfo.h.
friend class MSSchedule [friend] |
Definition at line 284 of file TargetSchedInfo.h.
friend class MSScheduleSB [friend] |
Definition at line 285 of file TargetSchedInfo.h.
const InstrClassRUsage* llvm::TargetSchedInfo::classRUsages [protected] |
Definition at line 270 of file TargetSchedInfo.h.
Referenced by getClassRUsage(), getMaxIssueForClass(), and initializeResources().
std::vector<std::vector<MachineOpCode> > llvm::TargetSchedInfo::conflictLists [protected] |
std::vector<InstrRUsage> llvm::TargetSchedInfo::instrRUsages [protected] |
const InstrIssueDelta* llvm::TargetSchedInfo::issueDeltas [protected] |
Definition at line 272 of file TargetSchedInfo.h.
std::vector<std::vector<int> > llvm::TargetSchedInfo::issueGaps [protected] |
Definition at line 160 of file TargetSchedInfo.h.
Referenced by getLongestIssueConflict(), and llvm::SparcV9SchedInfo::SparcV9SchedInfo().
Definition at line 159 of file TargetSchedInfo.h.
Referenced by getMaxNumIssueTotal(), and llvm::SparcV9SchedInfo::SparcV9SchedInfo().
const TargetInstrInfo* llvm::TargetSchedInfo::mii [protected] |
unsigned llvm::TargetSchedInfo::numIssueDeltas [protected] |
Definition at line 274 of file TargetSchedInfo.h.
unsigned llvm::TargetSchedInfo::numSchedClasses [protected] |
Definition at line 268 of file TargetSchedInfo.h.
Referenced by getClassRUsage(), getMaxIssueForClass(), getNumSchedClasses(), and initializeResources().
unsigned llvm::TargetSchedInfo::numUsageDeltas [protected] |
Definition at line 273 of file TargetSchedInfo.h.
std::vector<std::pair<int,int> > llvm::TargetSchedInfo::resourceNumVector |
Definition at line 157 of file TargetSchedInfo.h.
const InstrRUsageDelta* llvm::TargetSchedInfo::usageDeltas [protected] |
Definition at line 271 of file TargetSchedInfo.h.