LLVM API Documentation

Classes | Public Types | Static Public Member Functions | Protected Member Functions | Protected Attributes
llvm::GenericSchedulerBase Class Reference

#include <MachineScheduler.h>

Inheritance diagram for llvm::GenericSchedulerBase:
Inheritance graph
[legend]
Collaboration diagram for llvm::GenericSchedulerBase:
Collaboration graph
[legend]

List of all members.

Classes

struct  CandPolicy
 Policy for scheduling the next instruction in the candidate's zone. More...
struct  SchedCandidate
struct  SchedResourceDelta
 Status of an instruction's critical resource consumption. More...

Public Types

enum  CandReason {
  NoCand, PhysRegCopy, RegExcess, RegCritical,
  Stall, Cluster, Weak, RegMax,
  ResourceReduce, ResourceDemand, BotHeightReduce, BotPathReduce,
  TopDepthReduce, TopPathReduce, NextDefUse, NodeOrder
}

Static Public Member Functions

static const char * getReasonStr (GenericSchedulerBase::CandReason Reason)

Protected Member Functions

 GenericSchedulerBase (const MachineSchedContext *C)
void setPolicy (CandPolicy &Policy, bool IsPostRA, SchedBoundary &CurrZone, SchedBoundary *OtherZone)
void traceCandidate (const SchedCandidate &Cand)

Protected Attributes

const MachineSchedContextContext
const TargetSchedModelSchedModel
const TargetRegisterInfoTRI
SchedRemainder Rem

Detailed Description

Base class for GenericScheduler. This class maintains information about scheduling candidates based on TargetSchedModel making it easy to implement heuristics for either preRA or postRA scheduling.

Definition at line 743 of file MachineScheduler.h.


Member Enumeration Documentation

Represent the type of SchedCandidate found within a single queue. pickNodeBidirectional depends on these listed by decreasing priority.

Enumerator:
NoCand 
PhysRegCopy 
RegExcess 
RegCritical 
Stall 
Cluster 
Weak 
RegMax 
ResourceReduce 
ResourceDemand 
BotHeightReduce 
BotPathReduce 
TopDepthReduce 
TopPathReduce 
NextDefUse 
NodeOrder 

Definition at line 747 of file MachineScheduler.h.


Constructor & Destructor Documentation

Definition at line 832 of file MachineScheduler.h.


Member Function Documentation

void GenericSchedulerBase::setPolicy ( CandPolicy Policy,
bool  IsPostRA,
SchedBoundary CurrZone,
SchedBoundary OtherZone 
) [protected]

Member Data Documentation

Definition at line 826 of file MachineScheduler.h.

Referenced by llvm::GenericScheduler::initPolicy().


The documentation for this class was generated from the following files: