LLVM API Documentation

ScheduleDAGFast.cpp File Reference

#include "llvm/CodeGen/ScheduleDAGSDNodes.h"
#include "llvm/CodeGen/SchedulerRegistry.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Compiler.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/CommandLine.h"

Include dependency graph for ScheduleDAGFast.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "pre-RA-sched"

Functions

 STATISTIC (NumUnfolds,"Number of nodes unfolded")
 STATISTIC (NumDups,"Number of duplicated nodes")
 STATISTIC (NumCCCopies,"Number of cross class copies")
static MVT getPhysicalRegisterVT (SDNode *N, unsigned Reg, const TargetInstrInfo *TII)
ScheduleDAGllvm::createFastDAGScheduler (SelectionDAGISel *IS, SelectionDAG *DAG, const TargetMachine *TM, MachineBasicBlock *BB, bool Fast)

Variables

static RegisterScheduler fastDAGScheduler ("fast","Fast suboptimal list scheduling", createFastDAGScheduler)


Define Documentation

#define DEBUG_TYPE   "pre-RA-sched"

Definition at line 14 of file ScheduleDAGFast.cpp.


Function Documentation

static MVT getPhysicalRegisterVT ( SDNode N,
unsigned  Reg,
const TargetInstrInfo TII 
) [static]

getPhysicalRegisterVT - Returns the ValueType of the physical register definition of the specified node. FIXME: Move to SelectionDAG?

Definition at line 417 of file ScheduleDAGFast.cpp.

References llvm::TargetInstrInfo::get(), llvm::TargetInstrDesc::getImplicitDefs(), llvm::SDNode::getMachineOpcode(), llvm::TargetInstrDesc::getNumDefs(), llvm::SDNode::getValueType(), and llvm::TargetInstrDesc::ImplicitDefs.

STATISTIC ( NumCCCopies  ,
"Number of cross class copies"   
)

STATISTIC ( NumDups  ,
"Number of duplicated nodes"   
)

STATISTIC ( NumUnfolds  ,
"Number of nodes unfolded"   
)


Variable Documentation

FastPriorityQueue AvailableQueue

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

Definition at line 64 of file ScheduleDAGFast.cpp.

RegisterScheduler fastDAGScheduler("fast","Fast suboptimal list scheduling", createFastDAGScheduler) [static]

std::vector<unsigned> LiveRegCycles

Definition at line 71 of file ScheduleDAGFast.cpp.

std::vector<SUnit*> LiveRegDefs

Definition at line 70 of file ScheduleDAGFast.cpp.

LiveRegDefs - A set of physical registers and their definition that are "live". These nodes must be scheduled before any other nodes that modifies the registers can be scheduled.

Definition at line 69 of file ScheduleDAGFast.cpp.

Definition at line 42 of file ScheduleDAGFast.cpp.




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