LLVM 22.0.0git
ScheduleDAGFast.cpp File Reference

Go to the source code of this file.

Macros

#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 MVT getPhysicalRegisterVT (SDNode *N, unsigned Reg, const TargetInstrInfo *TII)
 getPhysicalRegisterVT - Returns the ValueType of the physical register definition of the specified node.
static bool CheckForLiveRegDef (SUnit *SU, MCRegister Reg, std::vector< SUnit * > &LiveRegDefs, SmallSet< unsigned, 4 > &RegAdded, SmallVectorImpl< unsigned > &LRegs, const TargetRegisterInfo *TRI, const SDNode *Node=nullptr)
 CheckForLiveRegDef - Return true and update live register vector if the specified register def of the specified SUnit clobbers any "live" registers.
static SDNodefindGluedUser (SDNode *N)
 findGluedUser - Find the representative use of a glue value by walking the use chain.

Variables

static RegisterScheduler fastDAGScheduler ("fast", "Fast suboptimal list scheduling", createFastDAGScheduler)
static RegisterScheduler linearizeDAGScheduler ("linearize", "Linearize DAG, no scheduling", createDAGLinearizer)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "pre-RA-sched"

Definition at line 28 of file ScheduleDAGFast.cpp.

Function Documentation

◆ CheckForLiveRegDef()

bool CheckForLiveRegDef ( SUnit * SU,
MCRegister Reg,
std::vector< SUnit * > & LiveRegDefs,
SmallSet< unsigned, 4 > & RegAdded,
SmallVectorImpl< unsigned > & LRegs,
const TargetRegisterInfo * TRI,
const SDNode * Node = nullptr )
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 432 of file ScheduleDAGFast.cpp.

References getNode(), llvm::SmallSet< T, N, C >::insert(), llvm::MCRegAliasIterator::isValid(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, and TRI.

◆ findGluedUser()

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 N.

◆ getPhysicalRegisterVT()

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 410 of file ScheduleDAGFast.cpp.

References assert(), llvm::ISD::CopyFromReg, N, Reg, and TII.

◆ STATISTIC() [1/3]

STATISTIC ( NumDups ,
"Number of duplicated nodes"  )

◆ STATISTIC() [2/3]

STATISTIC ( NumPRCopies ,
"Number of physical copies"  )

◆ STATISTIC() [3/3]

STATISTIC ( NumUnfolds ,
"Number of nodes unfolded"  )

Variable Documentation

◆ fastDAGScheduler

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

◆ linearizeDAGScheduler

RegisterScheduler linearizeDAGScheduler("linearize", "Linearize DAG, no scheduling", createDAGLinearizer) ( "linearize" ,
"Linearize DAG,
no scheduling" ,
createDAGLinearizer  )
static