LLVM 20.0.0git
|
Abstracting the input code sequence (a sequence of MCInst) and assigning unique identifiers to every instruction in the sequence. More...
#include "llvm/MCA/SourceMgr.h"
Public Types | |
using | UniqueInst = std::unique_ptr< Instruction > |
Public Member Functions | |
virtual ArrayRef< UniqueInst > | getInstructions () const =0 |
Provides a fixed range of UniqueInst to iterate. | |
virtual size_t | size () const |
(Fixed) Number of UniqueInst. | |
virtual bool | hasNext () const =0 |
Whether there is any SourceRef to inspect / peek next. | |
virtual bool | isEnd () const =0 |
Whether the instruction stream has eneded. | |
virtual SourceRef | peekNext () const =0 |
The next SourceRef. | |
virtual void | updateNext ()=0 |
Advance to the next SourceRef. | |
virtual | ~SourceMgr () |
Abstracting the input code sequence (a sequence of MCInst) and assigning unique identifiers to every instruction in the sequence.
Definition at line 29 of file SourceMgr.h.
using llvm::mca::SourceMgr::UniqueInst = std::unique_ptr<Instruction> |
Definition at line 30 of file SourceMgr.h.
|
inlinevirtual |
Definition at line 53 of file SourceMgr.h.
|
pure virtual |
Provides a fixed range of UniqueInst to iterate.
Implemented in llvm::mca::IncrementalSourceMgr, and llvm::mca::CircularSourceMgr.
Referenced by size().
|
pure virtual |
Whether there is any SourceRef to inspect / peek next.
Note that returning false from this doesn't mean the instruction stream has ended.
Implemented in llvm::mca::IncrementalSourceMgr, and llvm::mca::CircularSourceMgr.
|
pure virtual |
Whether the instruction stream has eneded.
Implemented in llvm::mca::IncrementalSourceMgr, and llvm::mca::CircularSourceMgr.
Referenced by llvm::mca::EntryStage::hasWorkToComplete().
|
pure virtual |
The next SourceRef.
Implemented in llvm::mca::IncrementalSourceMgr, and llvm::mca::CircularSourceMgr.
|
inlinevirtual |
(Fixed) Number of UniqueInst.
Returns the size of getInstructions by default.
Definition at line 37 of file SourceMgr.h.
References getInstructions(), and llvm::ArrayRef< T >::size().
|
pure virtual |
Advance to the next SourceRef.
Implemented in llvm::mca::IncrementalSourceMgr, and llvm::mca::CircularSourceMgr.