LLVM API Documentation

PostRASchedulerList.cpp File Reference

#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/ScheduleDAGInstrs.h"
#include "llvm/CodeGen/LatencyPriorityQueue.h"
#include "llvm/CodeGen/SchedulerRegistry.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
#include <map>

Include dependency graph for PostRASchedulerList.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "post-RA-sched"

Functions

 STATISTIC (NumStalls,"Number of pipeline stalls")
static const TargetRegisterClassgetInstrOperandRegClass (const TargetRegisterInfo *TRI, const TargetInstrInfo *TII, const TargetInstrDesc &II, unsigned Op)
static SDepCriticalPathStep (SUnit *SU)
FunctionPassllvm::createPostRAScheduler ()
 createPostRAScheduler - under development.

Variables

static cl::opt< bool > EnableAntiDepBreaking ("break-anti-dependencies", cl::desc("Break post-RA scheduling anti-dependencies"), cl::init(true), cl::Hidden)


Define Documentation

#define DEBUG_TYPE   "post-RA-sched"

Definition at line 21 of file PostRASchedulerList.cpp.


Function Documentation

static SDep* CriticalPathStep ( SUnit SU  )  [static]

CriticalPathStep - Return the next SUnit after SU on the bottom-up critical path.

Definition at line 159 of file PostRASchedulerList.cpp.

References llvm::SUnit::getDepth(), Next, and llvm::SUnit::Preds.

static const TargetRegisterClass* getInstrOperandRegClass ( const TargetRegisterInfo TRI,
const TargetInstrInfo TII,
const TargetInstrDesc II,
unsigned  Op 
) [static]

getInstrOperandRegClass - Return register class of the operand of an instruction of the specified TargetInstrDesc.

Definition at line 147 of file PostRASchedulerList.cpp.

References llvm::TargetInstrDesc::getNumOperands(), llvm::TargetInstrInfo::getPointerRegClass(), llvm::TargetRegisterInfo::getRegClass(), llvm::TargetOperandInfo::isLookupPtrRegClass(), llvm::TargetInstrDesc::OpInfo, and llvm::TargetOperandInfo::RegClass.

STATISTIC ( NumStalls  ,
"Number of pipeline stalls"   
)


Variable Documentation

AvailableQueue - The priority queue to use for the available SUnits.

Definition at line 70 of file PostRASchedulerList.cpp.

cl::opt<bool> EnableAntiDepBreaking("break-anti-dependencies", cl::desc("Break post-RA scheduling anti-dependencies"), cl::init(true), cl::Hidden) [static]

char ID [static]

Definition at line 48 of file PostRASchedulerList.cpp.

std::vector<SUnit*> PendingQueue

PendingQueue - This contains all of the instructions whose operands have been issued, but their results are not ready yet (due to the latency of the operation). Once the operands becomes available, the instruction is added to the AvailableQueue.

Definition at line 76 of file PostRASchedulerList.cpp.

Topo - A topological ordering for SUnits.

Definition at line 79 of file PostRASchedulerList.cpp.




This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.