LLVM
8.0.1
|
#include "llvm/CodeGen/DFAPacketizer.h"
Public Member Functions | |
VLIWPacketizerList (MachineFunction &MF, MachineLoopInfo &MLI, AliasAnalysis *AA) | |
virtual | ~VLIWPacketizerList () |
void | PacketizeMIs (MachineBasicBlock *MBB, MachineBasicBlock::iterator BeginItr, MachineBasicBlock::iterator EndItr) |
DFAPacketizer * | getResourceTracker () |
virtual MachineBasicBlock::iterator | addToPacket (MachineInstr &MI) |
virtual void | endPacket (MachineBasicBlock *MBB, MachineBasicBlock::iterator MI) |
virtual void | initPacketizerState () |
virtual bool | ignorePseudoInstruction (const MachineInstr &I, const MachineBasicBlock *MBB) |
virtual bool | isSoloInstruction (const MachineInstr &MI) |
virtual bool | shouldAddToPacket (const MachineInstr &MI) |
virtual bool | isLegalToPacketizeTogether (SUnit *SUI, SUnit *SUJ) |
virtual bool | isLegalToPruneDependencies (SUnit *SUI, SUnit *SUJ) |
void | addMutation (std::unique_ptr< ScheduleDAGMutation > Mutation) |
bool | alias (const MachineInstr &MI1, const MachineInstr &MI2, bool UseTBAA=true) const |
Protected Attributes | |
MachineFunction & | MF |
const TargetInstrInfo * | TII |
AliasAnalysis * | AA |
DefaultVLIWScheduler * | VLIWScheduler |
std::vector< MachineInstr * > | CurrentPacketMIs |
DFAPacketizer * | ResourceTracker |
std::map< MachineInstr *, SUnit * > | MIToSUnit |
Definition at line 134 of file DFAPacketizer.h.
VLIWPacketizerList::VLIWPacketizerList | ( | MachineFunction & | MF, |
MachineLoopInfo & | MLI, | ||
AliasAnalysis * | AA | ||
) |
Definition at line 210 of file DFAPacketizer.cpp.
References AA, llvm::TargetInstrInfo::CreateTargetScheduleState(), llvm::MachineFunction::getSubtarget(), MF, ResourceTracker, TII, and VLIWScheduler.
|
virtual |
Definition at line 217 of file DFAPacketizer.cpp.
References ResourceTracker, and VLIWScheduler.
void VLIWPacketizerList::addMutation | ( | std::unique_ptr< ScheduleDAGMutation > | Mutation | ) |
Definition at line 373 of file DFAPacketizer.cpp.
References llvm::DefaultVLIWScheduler::addMutation(), and VLIWScheduler.
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 165 of file DFAPacketizer.h.
References MI, and llvm::DFAPacketizer::reserveResources().
Referenced by PacketizeMIs().
bool VLIWPacketizerList::alias | ( | const MachineInstr & | MI1, |
const MachineInstr & | MI2, | ||
bool | UseTBAA = true |
||
) | const |
Definition at line 359 of file DFAPacketizer.cpp.
References llvm::MachineInstr::memoperands(), and llvm::MachineInstr::memoperands_empty().
Referenced by PacketizeMIs().
|
virtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 223 of file DFAPacketizer.cpp.
References llvm::DFAPacketizer::clearResources(), CurrentPacketMIs, llvm::dbgs(), llvm::finalizeBundle(), llvm::MachineInstrBundleIterator< Ty, IsReverse >::getInstrIterator(), llvm::ilist_node_impl< OptionsT >::getIterator(), LLVM_DEBUG, MI, and ResourceTracker.
Referenced by PacketizeMIs().
|
inline |
Definition at line 162 of file DFAPacketizer.h.
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 182 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 179 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 200 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 205 of file DFAPacketizer.h.
References Mutation, and UseTBAA.
Referenced by PacketizeMIs().
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 189 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
void VLIWPacketizerList::PacketizeMIs | ( | MachineBasicBlock * | MBB, |
MachineBasicBlock::iterator | BeginItr, | ||
MachineBasicBlock::iterator | EndItr | ||
) |
Definition at line 242 of file DFAPacketizer.cpp.
References AA, addToPacket(), alias(), llvm::AAResults::alias(), assert(), llvm::DFAPacketizer::canReserveResources(), CurrentPacketMIs, llvm::dbgs(), llvm::ScheduleDAGInstrs::dump(), endPacket(), llvm::ScheduleDAGInstrs::enterRegion(), llvm::ScheduleDAGInstrs::exitRegion(), llvm::ScheduleDAGInstrs::finishBlock(), llvm::MachineMemOperand::getAAInfo(), llvm::SUnit::getInstr(), llvm::MachineMemOperand::getOffset(), llvm::MachineMemOperand::getSize(), llvm::MachineMemOperand::getValue(), ignorePseudoInstruction(), initPacketizerState(), InstrLimit, isLegalToPacketizeTogether(), isLegalToPruneDependencies(), isSoloInstruction(), LLVM_DEBUG, MI, MIToSUnit, llvm::NoAlias, ResourceTracker, llvm::DefaultVLIWScheduler::schedule(), shouldAddToPacket(), llvm::ScheduleDAGInstrs::startBlock(), llvm::ScheduleDAG::SUnits, UseTBAA, and VLIWScheduler.
|
inlinevirtual |
Reimplemented in llvm::HexagonPacketizerList.
Definition at line 197 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
protected |
Definition at line 138 of file DFAPacketizer.h.
Referenced by PacketizeMIs(), and VLIWPacketizerList().
|
protected |
Definition at line 143 of file DFAPacketizer.h.
Referenced by endPacket(), and PacketizeMIs().
|
protected |
Definition at line 136 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
|
protected |
Definition at line 147 of file DFAPacketizer.h.
Referenced by PacketizeMIs().
|
protected |
Definition at line 145 of file DFAPacketizer.h.
Referenced by endPacket(), PacketizeMIs(), VLIWPacketizerList(), and ~VLIWPacketizerList().
|
protected |
Definition at line 137 of file DFAPacketizer.h.
Referenced by VLIWPacketizerList().
|
protected |
Definition at line 141 of file DFAPacketizer.h.
Referenced by addMutation(), PacketizeMIs(), VLIWPacketizerList(), and ~VLIWPacketizerList().