LLVM
8.0.1
|
#include "GCNIterativeScheduler.h"
#include "AMDGPUSubtarget.h"
#include "GCNRegPressure.h"
#include "GCNSchedStrategy.h"
#include "SIMachineFunctionInfo.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/Config/llvm-config.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>
Go to the source code of this file.
Classes | |
class | llvm::GCNIterativeScheduler::BuildDAG |
class | llvm::GCNIterativeScheduler::OverrideLegacyStrategy |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
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 MachineInstr * | getMachineInstr (MachineInstr *MI) |
static MachineInstr * | getMachineInstr (const SUnit *SU) |
static MachineInstr * | getMachineInstr (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) |
#define DEBUG_TYPE "machine-scheduler" |
Definition at line 37 of file GCNIterativeScheduler.cpp.
|
inlinestatic |
Definition at line 49 of file GCNIterativeScheduler.cpp.
References MI.
Referenced by llvm::GCNIterativeScheduler::getSchedulePressure(), lookupCandidateBaseReg(), and llvm::GCNIterativeScheduler::scheduleRegion().
|
inlinestatic |
Definition at line 52 of file GCNIterativeScheduler.cpp.
References llvm::SUnit::getInstr().
|
inlinestatic |
Definition at line 55 of file GCNIterativeScheduler.cpp.
References llvm::SUnit::getInstr(), and LLVM_DUMP_METHOD.
|
static |
Definition at line 92 of file GCNIterativeScheduler.cpp.
References llvm::getLiveRegsBefore(), llvm::getRegPressure(), MRI, and llvm::GCNRegPressure::print().
Referenced by llvm::GCNIterativeScheduler::printRegions(), llvm::GCNIterativeScheduler::schedule(), and llvm::GCNIterativeScheduler::tryMaximizeOccupancy().
|
static |