class CircularSourceMgr

Declaration

class CircularSourceMgr : public SourceMgr { /* full declaration omitted */ };

Description

The default implementation of \a SourceMgr. It always takes a fixed number of instructions and provides an option to loop the given sequence for a certain iterations.

Declared at: llvm/include/llvm/MCA/SourceMgr.h:59

Inherits from: SourceMgr

Member Variables

private ArrayRef<llvm::mca::SourceMgr::UniqueInst> Sequence
private unsigned int Current
private const unsigned int Iterations
private static const unsigned int DefaultIterations = 100

Method Overview

Inherited from SourceMgr:

Methods

CircularSourceMgr(
    ArrayRef<llvm::mca::SourceMgr::UniqueInst> S,
    unsigned int Iter)

Declared at: llvm/include/llvm/MCA/SourceMgr.h:66

Parameters

ArrayRef<llvm::mca::SourceMgr::UniqueInst> S
unsigned int Iter

ArrayRef<llvm::mca::SourceMgr::UniqueInst>
getInstructions() const

Description

Provides a fixed range of \a UniqueInst to iterate.

Declared at: llvm/include/llvm/MCA/SourceMgr.h:69

unsigned int getNumIterations() const

Declared at: llvm/include/llvm/MCA/SourceMgr.h:71

bool hasNext() const

Description

Whether there is any \a SourceRef to inspect / peek next. Note that returning false from this doesn't mean the instruction stream has ended.

Declared at: llvm/include/llvm/MCA/SourceMgr.h:72

bool isEnd() const

Description

Whether the instruction stream has eneded.

Declared at: llvm/include/llvm/MCA/SourceMgr.h:75

llvm::mca::SourceRef peekNext() const

Description

The next \a SourceRef.

Declared at: llvm/include/llvm/MCA/SourceMgr.h:77

void updateNext()

Description

Advance to the next \a SourceRef.

Declared at: llvm/include/llvm/MCA/SourceMgr.h:82