LLVM  6.0.0svn
Classes | Namespaces | Macros | Functions
GCNIterativeScheduler.cpp File Reference
#include "GCNIterativeScheduler.h"
#include "AMDGPUSubtarget.h"
#include "GCNRegPressure.h"
#include "GCNSchedStrategy.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/RegisterPressure.h"
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <iterator>
#include <limits>
#include <memory>
#include <type_traits>
#include <vector>
Include dependency graph for GCNIterativeScheduler.cpp:

Go to the source code of this file.

Classes

class  llvm::GCNIterativeScheduler::BuildDAG
 
class  llvm::GCNIterativeScheduler::OverrideLegacyStrategy
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "machine-scheduler"
 

Functions

std::vector< const SUnit * > llvm::makeMinRegSchedule (ArrayRef< const SUnit *> TopRoots, const ScheduleDAG &DAG)
 
std::vector< const SUnit * > llvm::makeGCNILPScheduler (ArrayRef< const SUnit *> BotRoots, const ScheduleDAG &DAG)
 
static MachineInstrgetMachineInstr (MachineInstr *MI)
 
static MachineInstrgetMachineInstr (const SUnit *SU)
 
static MachineInstrgetMachineInstr (const SUnit &SU)
 
static LLVM_DUMP_METHOD void printRegion (raw_ostream &OS, MachineBasicBlock::iterator Begin, MachineBasicBlock::iterator End, const LiveIntervals *LIS, unsigned MaxInstNum=std::numeric_limits< unsigned >::max())
 
static LLVM_DUMP_METHOD void printLivenessInfo (raw_ostream &OS, MachineBasicBlock::iterator Begin, MachineBasicBlock::iterator End, const LiveIntervals *LIS)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "machine-scheduler"

Definition at line 35 of file GCNIterativeScheduler.cpp.

Function Documentation

◆ getMachineInstr() [1/3]

static MachineInstr* getMachineInstr ( MachineInstr MI)
inlinestatic

◆ getMachineInstr() [2/3]

static MachineInstr* getMachineInstr ( const SUnit SU)
inlinestatic

Definition at line 50 of file GCNIterativeScheduler.cpp.

References llvm::SUnit::getInstr().

◆ getMachineInstr() [3/3]

static MachineInstr* getMachineInstr ( const SUnit SU)
inlinestatic

Definition at line 53 of file GCNIterativeScheduler.cpp.

References llvm::SUnit::getInstr(), and LLVM_DUMP_METHOD.

◆ printLivenessInfo()

static LLVM_DUMP_METHOD void printLivenessInfo ( raw_ostream OS,
MachineBasicBlock::iterator  Begin,
MachineBasicBlock::iterator  End,
const LiveIntervals LIS 
)
static

◆ printRegion()

static LLVM_DUMP_METHOD void printRegion ( raw_ostream OS,
MachineBasicBlock::iterator  Begin,
MachineBasicBlock::iterator  End,
const LiveIntervals LIS,
unsigned  MaxInstNum = std::numeric_limits<unsigned>::max() 
)
static