LLVM API Documentation
#include <TargetSchedInfo.h>
Inheritance diagram for llvm::TargetSchedInfo:
Public Member Functions | |
TargetSchedInfo (const TargetMachine &tgt, int _numSchedClasses, const InstrClassRUsage *_classRUsages, const InstrRUsageDelta *_usageDeltas, const InstrIssueDelta *_issueDeltas, unsigned _numUsageDeltas, unsigned _numIssueDeltas) | |
virtual | ~TargetSchedInfo () |
const TargetInstrInfo & | getInstrInfo () const |
int | getNumSchedClasses () const |
unsigned | getMaxNumIssueTotal () const |
unsigned | getMaxIssueForClass (const InstrSchedClass &sc) const |
InstrSchedClass | getSchedClass (MachineOpCode opCode) const |
bool | instrCanUseSlot (MachineOpCode opCode, unsigned s) const |
int | getLongestIssueConflict () const |
int | getMinIssueGap (MachineOpCode fromOp, MachineOpCode toOp) const |
const std::vector< MachineOpCode > & | getConflictList (MachineOpCode opCode) const |
bool | isSingleIssue (MachineOpCode opCode) const |
bool | breaksIssueGroup (MachineOpCode opCode) const |
unsigned | numBubblesAfter (MachineOpCode opCode) const |
unsigned | getCPUResourceNum (int rd) const |
Public Attributes | |
const TargetMachine & | target |
unsigned | maxNumIssueTotal |
int | longestIssueConflict |
std::vector< std::pair< int, int > > | resourceNumVector |
Protected Member Functions | |
const InstrRUsage & | getInstrRUsage (MachineOpCode opCode) const |
const InstrClassRUsage & | getClassRUsage (const InstrSchedClass &sc) const |
virtual void | initializeResources () |
Protected Attributes | |
unsigned | numSchedClasses |
const TargetInstrInfo * | mii |
const InstrClassRUsage * | classRUsages |
const InstrRUsageDelta * | usageDeltas |
const InstrIssueDelta * | issueDeltas |
unsigned | numUsageDeltas |
unsigned | numIssueDeltas |
std::vector< InstrRUsage > | instrRUsages |
std::vector< std::vector< int > > | issueGaps |
std::vector< std::vector< MachineOpCode > > | conflictLists |
Friends | |
class | ModuloSchedulingPass |
class | MSSchedule |
Definition at line 155 of file TargetSchedInfo.h.
|
Definition at line 98 of file TargetSchedInfo.cpp. |
|
Definition at line 183 of file TargetSchedInfo.h. |
|
Definition at line 233 of file TargetSchedInfo.h. References llvm::InstrRUsage::breaksGroup, and getInstrRUsage(). Referenced by llvm::FindSlotChoices(). |
|
Definition at line 167 of file TargetSchedInfo.h. References classRUsages, and numSchedClasses. |
|
Definition at line 224 of file TargetSchedInfo.h. References conflictLists. |
|
Definition at line 241 of file TargetSchedInfo.h. References resourceNumVector. |
|
Definition at line 185 of file TargetSchedInfo.h. References mii. Referenced by llvm::SchedulingManager::getInstrInfo(), getSchedClass(), and llvm::RecordSchedule(). |
|
Definition at line 163 of file TargetSchedInfo.h. References instrRUsages. Referenced by breaksIssueGroup(), instrCanUseSlot(), isSingleIssue(), and numBubblesAfter(). |
|
Definition at line 212 of file TargetSchedInfo.h. References longestIssueConflict. |
|
Definition at line 197 of file TargetSchedInfo.h. References classRUsages, llvm::InstrClassRUsage::maxNumIssue, and numSchedClasses. Referenced by llvm::ConflictsWithChoices(). |
|
Definition at line 193 of file TargetSchedInfo.h. References maxNumIssueTotal. Referenced by initializeResources(). |
|
Definition at line 216 of file TargetSchedInfo.h. References issueGaps. |
|
Definition at line 189 of file TargetSchedInfo.h. References numSchedClasses. |
|
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(). |
|
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(). |
|
Definition at line 206 of file TargetSchedInfo.h. References llvm::InstrRUsage::feasibleSlots, and getInstrRUsage(). Referenced by llvm::FindSlotChoices(), and llvm::DelaySlotInfo::scheduleDelayedNode(). |
|
Definition at line 229 of file TargetSchedInfo.h. References getInstrRUsage(), and llvm::InstrRUsage::isSingleIssue. Referenced by llvm::ConflictsWithChoices(), llvm::FindSlotChoices(), and llvm::NodeCanFillDelaySlot(). |
|
Definition at line 237 of file TargetSchedInfo.h. References getInstrRUsage(), and llvm::InstrRUsage::numBubbles. |
|
Definition at line 282 of file TargetSchedInfo.h. |
|
Definition at line 283 of file TargetSchedInfo.h. |
|
Definition at line 270 of file TargetSchedInfo.h. Referenced by getClassRUsage(), getMaxIssueForClass(), and initializeResources(). |
|
Definition at line 279 of file TargetSchedInfo.h. Referenced by getConflictList(). |
|
Definition at line 276 of file TargetSchedInfo.h. Referenced by getInstrRUsage(). |
|
Definition at line 272 of file TargetSchedInfo.h. |
|
Definition at line 277 of file TargetSchedInfo.h. Referenced by getMinIssueGap(). |
|
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(). |
|
Definition at line 269 of file TargetSchedInfo.h. Referenced by getInstrInfo(). |
|
Definition at line 274 of file TargetSchedInfo.h. |
|
Definition at line 268 of file TargetSchedInfo.h. Referenced by getClassRUsage(), getMaxIssueForClass(), getNumSchedClasses(), and initializeResources(). |
|
Definition at line 273 of file TargetSchedInfo.h. |
|
Definition at line 265 of file TargetSchedInfo.h. Referenced by getCPUResourceNum(). |
|
Definition at line 157 of file TargetSchedInfo.h. |
|
Definition at line 271 of file TargetSchedInfo.h. |