LLVM API Documentation

Defines | Functions | Variables
ScheduleDAGSDNodes.cpp File Reference
#include "ScheduleDAGSDNodes.h"
#include "InstrEmitter.h"
#include "SDNodeDbgValue.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/MC/MCInstrItineraries.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
Include dependency graph for ScheduleDAGSDNodes.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "pre-RA-sched"

Functions

 STATISTIC (LoadsClustered,"Number of loads clustered together")
static void CheckForPhysRegDependency (SDNode *Def, SDNode *User, unsigned Op, const TargetRegisterInfo *TRI, const TargetInstrInfo *TII, unsigned &PhysReg, int &Cost)
static void CloneNodeWithValues (SDNode *N, SelectionDAG *DAG, SmallVectorImpl< EVT > &VTs, SDValue ExtraOper=SDValue())
static bool AddGlue (SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG)
static void RemoveUnusedGlue (SDNode *N, SelectionDAG *DAG)
static void ProcessSDDbgValues (SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, SmallVectorImpl< std::pair< unsigned, MachineInstr * > > &Orders, DenseMap< SDValue, unsigned > &VRBaseMap, unsigned Order)
 ProcessSDDbgValues - Process SDDbgValues associated with this node.
static void ProcessSourceNode (SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, DenseMap< SDValue, unsigned > &VRBaseMap, SmallVectorImpl< std::pair< unsigned, MachineInstr * > > &Orders, SmallSet< unsigned, 8 > &Seen)

Variables

static cl::opt< intHighLatencyCycles ("sched-high-latency-cycles", cl::Hidden, cl::init(10), cl::desc("Roughly estimate the number of cycles that 'long latency'""instructions take for targets with no itinerary"))

Define Documentation

#define DEBUG_TYPE   "pre-RA-sched"

Definition at line 37 of file ScheduleDAGSDNodes.cpp.


Function Documentation

static bool AddGlue ( SDNode N,
SDValue  Glue,
bool  AddGlue,
SelectionDAG DAG 
) [static]
static void CheckForPhysRegDependency ( SDNode Def,
SDNode User,
unsigned  Op,
const TargetRegisterInfo TRI,
const TargetInstrInfo TII,
unsigned PhysReg,
int Cost 
) [static]
static void CloneNodeWithValues ( SDNode N,
SelectionDAG DAG,
SmallVectorImpl< EVT > &  VTs,
SDValue  ExtraOper = SDValue() 
) [static]
static void ProcessSDDbgValues ( SDNode N,
SelectionDAG DAG,
InstrEmitter Emitter,
SmallVectorImpl< std::pair< unsigned, MachineInstr * > > &  Orders,
DenseMap< SDValue, unsigned > &  VRBaseMap,
unsigned  Order 
) [static]
static void ProcessSourceNode ( SDNode N,
SelectionDAG DAG,
InstrEmitter Emitter,
DenseMap< SDValue, unsigned > &  VRBaseMap,
SmallVectorImpl< std::pair< unsigned, MachineInstr * > > &  Orders,
SmallSet< unsigned, 8 > &  Seen 
) [static]
static void RemoveUnusedGlue ( SDNode N,
SelectionDAG DAG 
) [static]
STATISTIC ( LoadsClustered  ,
"Number of loads clustered together"   
)

Variable Documentation

cl::opt<int> HighLatencyCycles("sched-high-latency-cycles", cl::Hidden, cl::init(10), cl::desc("Roughly estimate the number of cycles that 'long latency'""instructions take for targets with no itinerary")) [static]