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] |