|
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().
1.8.13