LLVM
8.0.1
|
#include "AggressiveAntiDepBreaker.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterClassInfo.h"
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MachineValueType.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <map>
#include <set>
#include <utility>
#include <vector>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "post-RA-sched" |
Functions | |
static void | AntiDepEdges (const SUnit *SU, std::vector< const SDep *> &Edges) |
AntiDepEdges - Return in Edges the anti- and output- dependencies in SU that we want to consider for breaking. More... | |
static const SUnit * | CriticalPathStep (const SUnit *SU) |
CriticalPathStep - Return the next SUnit after SU on the bottom-up critical path. More... | |
Variables | |
static cl::opt< int > | DebugDiv ("agg-antidep-debugdiv", cl::desc("Debug control for aggressive anti-dep breaker"), cl::init(0), cl::Hidden) |
static cl::opt< int > | DebugMod ("agg-antidep-debugmod", cl::desc("Debug control for aggressive anti-dep breaker"), cl::init(0), cl::Hidden) |
#define DEBUG_TYPE "post-RA-sched" |
Definition at line 47 of file AggressiveAntiDepBreaker.cpp.
AntiDepEdges - Return in Edges the anti- and output- dependencies in SU that we want to consider for breaking.
Definition at line 266 of file AggressiveAntiDepBreaker.cpp.
References llvm::SDep::Anti, llvm::SmallSet< T, N, C >::insert(), llvm::SDep::Output, P, llvm::SUnit::Preds, and second.
CriticalPathStep - Return the next SUnit after SU on the bottom-up critical path.
Definition at line 279 of file AggressiveAntiDepBreaker.cpp.
References llvm::SDep::Anti, assert(), llvm::dbgs(), DebugDiv, DebugMod, DefMI, llvm::ArrayRef< T >::empty(), llvm::BitVector::empty(), llvm::MachineInstr::findRegisterDefOperandIdx(), first, llvm::TargetRegisterInfo::getAllocatableSet(), llvm::AggressiveAntiDepState::GetDefIndices(), llvm::SUnit::getDepth(), llvm::MachineInstr::getDesc(), llvm::AggressiveAntiDepState::GetGroup(), llvm::AggressiveAntiDepState::GetGroupRegs(), llvm::AggressiveAntiDepState::GetKillIndices(), llvm::TargetRegisterInfo::getMinimalPhysRegClass(), llvm::MCInstrDesc::getNumOperands(), llvm::MachineInstr::getNumOperands(), llvm::MCRegisterInfo::getNumRegs(), llvm::MachineInstr::getOperand(), llvm::RegisterClassInfo::getOrder(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::TargetInstrInfo::getRegClass(), llvm::TargetRegisterInfo::getRegClassName(), llvm::AggressiveAntiDepState::GetRegRefs(), llvm::MCRegisterInfo::getSubReg(), llvm::MCRegisterInfo::getSubRegIndex(), llvm::SDep::getSUnit(), llvm::MachineInstr::hasExtraDefRegAllocReq(), llvm::MachineInstr::hasExtraSrcRegAllocReq(), llvm::MachineRegisterInfo::isAllocatable(), llvm::MachineInstr::isCall(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isEarlyClobber(), llvm::MachineInstr::isInlineAsm(), llvm::MachineInstr::isKill(), llvm::AggressiveAntiDepState::IsLive(), llvm::TargetInstrInfo::isPredicated(), llvm::MachineOperand::isReg(), llvm::MCRegisterInfo::isSubRegister(), llvm::MCRegisterInfo::isSuperRegister(), llvm::MachineOperand::isUse(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm::MCRegAliasIterator::isValid(), llvm::AggressiveAntiDepState::LeaveGroup(), LLVM_DEBUG, llvm::make_range(), llvm::MVT::Other, P, llvm::SUnit::Preds, llvm::printReg(), llvm::MachineInstr::readsRegister(), Reg, llvm::ArrayRef< T >::size(), llvm::AggressiveAntiDepState::UnionGroups(), and UseMI.
|
static |
Referenced by CriticalPathStep().
|
static |
Referenced by CriticalPathStep().