LLVM: llvm::HexagonPacketizerList Class Reference (original) (raw)
#include "[Target/Hexagon/HexagonVLIWPacketizer.h](HexagonVLIWPacketizer%5F8h%5Fsource.html)"
| Protected Attributes | |
|---|---|
| const MachineBranchProbabilityInfo * | MBPI |
| A handle to the branch probability pass. | |
| const MachineLoopInfo * | MLI |
| Protected Attributes inherited from llvm::VLIWPacketizerList | |
| MachineFunction & | MF |
| const TargetInstrInfo * | TII |
| AAResults * | AA |
| DefaultVLIWScheduler * | VLIWScheduler |
| std::vector< MachineInstr * > | CurrentPacketMIs |
| DFAPacketizer * | ResourceTracker |
| std::map< MachineInstr *, SUnit * > | MIToSUnit |
Definition at line 27 of file HexagonVLIWPacketizer.h.
◆ addToPacket()
Reimplemented from llvm::VLIWPacketizerList.
Definition at line 1701 of file HexagonVLIWPacketizer.cpp.
References assert(), calcStall(), canReserveResourcesForConstExt(), llvm::VLIWPacketizerList::CurrentPacketMIs, demoteToDotOld(), endPacket(), MBB, MI, producesStall(), reserveResourcesForConstExt(), llvm::VLIWPacketizerList::ResourceTracker, tryAllocateResourcesForConstExt(), and useCalleesSP().
◆ arePredicatesComplements()
◆ calcStall()
◆ cannotCoexist()
◆ canPromoteToDotCur()
◆ canPromoteToDotNew()
Definition at line 841 of file HexagonVLIWPacketizer.cpp.
References canPromoteToNewValue(), D(), llvm::dwarf_linker::DebugLoc, DisableVecDblNVStores, llvm::MachineInstr::getDesc(), llvm::SUnit::getInstr(), llvm::MachineInstr::isImplicitDef(), isImplicitDependency(), llvm::MachineInstr::isInlineAsm(), isNewifiable(), MBPI, llvm::VLIWPacketizerList::MF, MI, and llvm::VLIWPacketizerList::ResourceTracker.
Referenced by isLegalToPacketizeTogether().
◆ canPromoteToNewValue()
◆ canPromoteToNewValueStore()
Definition at line 642 of file HexagonVLIWPacketizer.cpp.
References assert(), llvm::VLIWPacketizerList::CurrentPacketMIs, getAbsSetOperand(), llvm::MachineInstr::getDesc(), llvm::SUnit::getInstr(), getPostIncrementOperand(), getPredicateSense(), getReg(), llvm::MachineOperand::getReg(), getStoreValueOperand(), I, isLoadAbsSet(), llvm::MachineOperand::isReg(), llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), MI, llvm::VLIWPacketizerList::MIToSUnit, llvm::MachineInstr::modifiesRegister(), and llvm::MachineInstr::operands().
Referenced by canPromoteToNewValue().
◆ canReserveResourcesForConstExt()
| bool HexagonPacketizerList::canReserveResourcesForConstExt ( ) | protected |
|---|
◆ cleanUpDotCur()
| void HexagonPacketizerList::cleanUpDotCur ( ) | protected |
|---|
◆ demoteToDotOld()
◆ endPacket()
Reimplemented from llvm::VLIWPacketizerList.
Definition at line 1780 of file HexagonVLIWPacketizer.cpp.
References llvm::VLIWPacketizerList::CurrentPacketMIs, llvm::dbgs(), llvm::finalizeBundle(), foundLSInPacket(), llvm::MachineInstrBundleIterator< Ty, IsReverse >::getInstrIterator(), getmemShufDisabled(), I, LLVM_DEBUG, llvm::make_range(), MBB, MI, llvm::VLIWPacketizerList::ResourceTracker, setmemShufDisabled(), and llvm::utohexstr().
Referenced by addToPacket().
◆ foundLSInPacket()
| bool HexagonPacketizerList::foundLSInPacket | ( | ) |
|---|
◆ getmemShufDisabled()
| bool llvm::HexagonPacketizerList::getmemShufDisabled ( ) | inlineprotected |
|---|
◆ hasControlDependence()
◆ hasDeadDependence()
◆ hasDualStoreDependence()
◆ hasRegMaskDependence()
◆ ignorePseudoInstruction()
◆ initPacketizerState()
| void HexagonPacketizerList::initPacketizerState ( ) | overridevirtual |
|---|
◆ isCallDependent()
◆ isCurifiable()
◆ isLegalToPacketizeTogether()
| bool HexagonPacketizerList::isLegalToPacketizeTogether ( SUnit * SUI, SUnit * SUJ ) | overridevirtual |
|---|
Reimplemented from llvm::VLIWPacketizerList.
Definition at line 1316 of file HexagonVLIWPacketizer.cpp.
References llvm::VLIWPacketizerList::alias(), llvm::SDep::Anti, arePredicatesComplements(), assert(), cannotCoexist(), canPromoteToDotCur(), canPromoteToDotNew(), llvm::VLIWPacketizerList::CurrentPacketMIs, llvm::SDep::Data, llvm::find(), llvm::SUnit::getInstr(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), hasControlDependence(), hasDeadDependence(), hasDualStoreDependence(), llvm::MachineInstr::hasOrderedMemoryRef(), hasRegMaskDependence(), llvm::HexagonSubtarget::hasV65Ops(), I, II, llvm::MachineInstr::isBranch(), llvm::MachineInstr::isCall(), isCallDependent(), isDirectJump(), llvm::MachineOperand::isReg(), isRegDependence(), isSoloInstruction(), llvm::SUnit::isSucc(), llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), llvm::VLIWPacketizerList::MF, llvm::MachineInstr::modifiesRegister(), Opc, llvm::SDep::Order, llvm::SDep::Output, PacketizeVolatiles, promoteToDotCur(), promoteToDotNew(), llvm::MachineInstr::readsRegister(), setmemShufDisabled(), Slot1Store, llvm::SUnit::Succs, and useCallersSP().
◆ isLegalToPruneDependencies()
| bool HexagonPacketizerList::isLegalToPruneDependencies ( SUnit * SUI, SUnit * SUJ ) | overridevirtual |
|---|
◆ isNewifiable()
◆ isPromotedToDotNew()
| bool llvm::HexagonPacketizerList::isPromotedToDotNew ( ) const | inlineprotected |
|---|
◆ isSoloInstruction()
◆ producesStall()
◆ promoteToDotCur()
◆ promoteToDotNew()
◆ reserveResourcesForConstExt()
| void HexagonPacketizerList::reserveResourcesForConstExt ( ) | protected |
|---|
◆ restrictingDepExistInPacket()
◆ setmemShufDisabled()
| void llvm::HexagonPacketizerList::setmemShufDisabled ( bool val) | inlineprotected |
|---|
◆ shouldAddToPacket()
◆ tryAllocateResourcesForConstExt()
| bool HexagonPacketizerList::tryAllocateResourcesForConstExt ( bool Reserve) | protected |
|---|
◆ undoChangedOffset()
| void HexagonPacketizerList::undoChangedOffset ( MachineInstr & MI) | protected |
|---|
◆ unpacketizeSoloInstrs()
◆ updateOffset()
◆ useCalleesSP()
| void HexagonPacketizerList::useCalleesSP ( MachineInstr & MI) | protected |
|---|
◆ useCallersSP()
◆ MBPI
◆ MLI
The documentation for this class was generated from the following files:
- lib/Target/Hexagon/HexagonVLIWPacketizer.h
- lib/Target/Hexagon/HexagonVLIWPacketizer.cpp