LLVM API Documentation
#include "llvm/CodeGen/SchedulerRegistry.h"
#include "InstrEmitter.h"
#include "ScheduleDAGSDNodes.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
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 (NumPRCopies,"Number of physical copies") | |
static EVT | getPhysicalRegisterVT (SDNode *N, unsigned Reg, const TargetInstrInfo *TII) |
static bool | CheckForLiveRegDef (SUnit *SU, unsigned Reg, std::vector< SUnit * > &LiveRegDefs, SmallSet< unsigned, 4 > &RegAdded, SmallVectorImpl< unsigned > &LRegs, const TargetRegisterInfo *TRI) |
static SDNode * | findGluedUser (SDNode *N) |
Variables | |
static RegisterScheduler | fastDAGScheduler ("fast","Fast suboptimal list scheduling", createFastDAGScheduler) |
static RegisterScheduler | linearizeDAGScheduler ("linearize","Linearize DAG, no scheduling", createDAGLinearizer) |
#define DEBUG_TYPE "pre-RA-sched" |
Definition at line 30 of file ScheduleDAGFast.cpp.
static bool CheckForLiveRegDef | ( | SUnit * | SU, |
unsigned | Reg, | ||
std::vector< SUnit * > & | LiveRegDefs, | ||
SmallSet< unsigned, 4 > & | RegAdded, | ||
SmallVectorImpl< unsigned > & | LRegs, | ||
const TargetRegisterInfo * | TRI | ||
) | [static] |
CheckForLiveRegDef - Return true and update live register vector if the specified register def of the specified SUnit clobbers any "live" registers.
Definition at line 449 of file ScheduleDAGFast.cpp.
References llvm::SmallSet< T, N, C >::insert(), llvm::MCRegAliasIterator::isValid(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
static SDNode* findGluedUser | ( | SDNode * | N | ) | [static] |
findGluedUser - Find the representative use of a glue value by walking the use chain.
Definition at line 712 of file ScheduleDAGFast.cpp.
References llvm::SDNode::getGluedUser().
static EVT 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 434 of file ScheduleDAGFast.cpp.
References llvm::MCInstrInfo::get(), llvm::MCInstrDesc::getImplicitDefs(), llvm::SDNode::getMachineOpcode(), llvm::MCInstrDesc::getNumDefs(), llvm::SDNode::getValueType(), and llvm::MCInstrDesc::ImplicitDefs.
STATISTIC | ( | NumUnfolds | , |
"Number of nodes unfolded" | |||
) |
STATISTIC | ( | NumDups | , |
"Number of duplicated nodes" | |||
) |
STATISTIC | ( | NumPRCopies | , |
"Number of physical copies" | |||
) |
RegisterScheduler fastDAGScheduler("fast","Fast suboptimal list scheduling", createFastDAGScheduler) [static] |
RegisterScheduler linearizeDAGScheduler("linearize","Linearize DAG, no scheduling", createDAGLinearizer) [static] |