|
LLVM
4.0.0
|
MachineBasicBlock iterator that automatically skips over MIs that are inside bundles (i.e. More...
#include <MachineInstrBundleIterator.h>
Public Types | |
| typedef instr_iterator::value_type | value_type |
| typedef instr_iterator::difference_type | difference_type |
| typedef instr_iterator::pointer | pointer |
| typedef instr_iterator::reference | reference |
| typedef std::bidirectional_iterator_tag | iterator_category |
| typedef instr_iterator::const_pointer | const_pointer |
| typedef instr_iterator::const_reference | const_reference |
Public Member Functions | |
| MachineInstrBundleIterator (instr_iterator MI) | |
| MachineInstrBundleIterator (reference MI) | |
| MachineInstrBundleIterator (pointer MI) | |
| template<class OtherTy > | |
| MachineInstrBundleIterator (const MachineInstrBundleIterator< OtherTy, IsReverse > &I, typename std::enable_if< std::is_convertible< OtherTy *, Ty * >::value, void * >::type=nullptr) | |
| MachineInstrBundleIterator () | |
| MachineInstrBundleIterator (const MachineInstrBundleIterator< Ty,!IsReverse > &I) | |
| Explicit conversion between forward/reverse iterators. More... | |
| reference | operator* () const |
| pointer | operator-> () const |
| bool | isValid () const |
| Check for null. More... | |
| MachineInstrBundleIterator & | operator-- () |
| MachineInstrBundleIterator & | operator++ () |
| MachineInstrBundleIterator | operator-- (int) |
| MachineInstrBundleIterator | operator++ (int) |
| instr_iterator | getInstrIterator () const |
| nonconst_iterator | getNonConstIterator () const |
| reverse_iterator | getReverse () const |
| Get a reverse iterator to the same node. More... | |
Static Public Member Functions | |
| static MachineInstrBundleIterator | getAtBundleBegin (instr_iterator MI) |
| Get the bundle iterator for the given instruction's bundle. More... | |
MachineBasicBlock iterator that automatically skips over MIs that are inside bundles (i.e.
walk top level MIs only).
Definition at line 106 of file MachineInstrBundleIterator.h.
| typedef instr_iterator::const_pointer llvm::MachineInstrBundleIterator< Ty, IsReverse >::const_pointer |
Definition at line 118 of file MachineInstrBundleIterator.h.
| typedef instr_iterator::const_reference llvm::MachineInstrBundleIterator< Ty, IsReverse >::const_reference |
Definition at line 119 of file MachineInstrBundleIterator.h.
| typedef instr_iterator::difference_type llvm::MachineInstrBundleIterator< Ty, IsReverse >::difference_type |
Definition at line 113 of file MachineInstrBundleIterator.h.
| typedef std::bidirectional_iterator_tag llvm::MachineInstrBundleIterator< Ty, IsReverse >::iterator_category |
Definition at line 116 of file MachineInstrBundleIterator.h.
| typedef instr_iterator::pointer llvm::MachineInstrBundleIterator< Ty, IsReverse >::pointer |
Definition at line 114 of file MachineInstrBundleIterator.h.
| typedef instr_iterator::reference llvm::MachineInstrBundleIterator< Ty, IsReverse >::reference |
Definition at line 115 of file MachineInstrBundleIterator.h.
| typedef instr_iterator::value_type llvm::MachineInstrBundleIterator< Ty, IsReverse >::value_type |
Definition at line 112 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 130 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 136 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 141 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 149 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 154 of file MachineInstrBundleIterator.h.
|
inlineexplicit |
Explicit conversion between forward/reverse iterators.
Translate between forward and reverse iterators without changing range boundaries. The resulting iterator will dereference (and have a handle) to the previous node, which is somewhat unexpected; but converting the two endpoints in a range will give the same range in reverse.
This matches std::reverse_iterator conversions.
Definition at line 164 of file MachineInstrBundleIterator.h.
|
inlinestatic |
Get the bundle iterator for the given instruction's bundle.
Definition at line 169 of file MachineInstrBundleIterator.h.
Referenced by llvm::MachineBasicBlock::rbegin().
|
inline |
Definition at line 269 of file MachineInstrBundleIterator.h.
Referenced by llvm::VLIWPacketizerList::endPacket(), llvm::MachineBasicBlock::erase(), findCFILocation(), llvm::MachineBasicBlock::findDebugLoc(), getBundledDefMI(), llvm::MachineBasicBlock::insert(), llvm::MachineBasicBlock::insertAfter(), moveInstrOut(), llvm::HexagonInstrInfo::nonDbgBundleSize(), and llvm::MachineBasicBlock::splice().
|
inline |
Definition at line 271 of file MachineInstrBundleIterator.h.
Referenced by nextIfDebug(), and priorNonDebug().
|
inline |
Get a reverse iterator to the same node.
Gives a reverse iterator that will dereference (and have a handle) to the same node. Converting the endpoint iterators in a range will give a different range; for range operations, use the explicit conversions.
Definition at line 278 of file MachineInstrBundleIterator.h.
Referenced by areCFlagsAccessedBetweenInstrs(), FindLastAluClause(), llvm::X86InstrInfo::optimizeCompareInstr(), and llvm::MipsInstrInfo::removeBranch().
|
inline |
Check for null.
Definition at line 177 of file MachineInstrBundleIterator.h.
Referenced by llvm::FastISel::removeDeadCode(), and llvm::ScheduleDAGMILive::updateScheduledPressure().
|
inline |
Definition at line 173 of file MachineInstrBundleIterator.h.
Referenced by llvm::MachineInstrBundleIterator< const MachineInstr >::operator->().
|
inline |
Definition at line 254 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 263 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 250 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 258 of file MachineInstrBundleIterator.h.
|
inline |
Definition at line 174 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 214 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 218 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 222 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 226 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 230 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 234 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 237 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 240 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 244 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 179 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 183 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 187 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 191 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 195 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 199 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 202 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 205 of file MachineInstrBundleIterator.h.
|
friend |
Definition at line 209 of file MachineInstrBundleIterator.h.
1.8.6