class LazyCallGraph::postorder_ref_scc_iterator

Declaration

class LazyCallGraph::postorder_ref_scc_iterator
    : public iterator_facade_base { /* full declaration omitted */ };

Description

A post-order depth-first RefSCC iterator over the call graph. This iterator walks the cached post-order sequence of RefSCCs. However, it trades stability for flexibility. It is restricted to a forward iterator but will survive mutations which insert new RefSCCs and continue to point to the same RefSCC even if it moves in the post-order sequence.

Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:871

Inherits from: iterator_facade_base

Member Variables

private llvm::LazyCallGraph* G
private llvm::LazyCallGraph::RefSCC* RC = nullptr

Method Overview

Methods

static llvm::LazyCallGraph::RefSCC* getRC(
    llvm::LazyCallGraph& G,
    int Index)

Description

Get the post-order RefSCC at the given index of the postorder walk, populating it if necessary.

Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:893

Parameters

llvm::LazyCallGraph& G
int Index

void increment()

Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:907

void incrementUntilNonEmptyRefSCC()

Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:902

postorder_ref_scc_iterator(llvm::LazyCallGraph& G)

Description

Build the begin iterator for a node.

Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:884

Parameters

llvm::LazyCallGraph& G

postorder_ref_scc_iterator(
    llvm::LazyCallGraph& G,
    llvm::LazyCallGraph::
        postorder_ref_scc_iterator::IsAtEndT)

Description

Build the end iterator for a node. This is selected purely by overload.

Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:889

Parameters

llvm::LazyCallGraph& G
llvm::LazyCallGraph::postorder_ref_scc_iterator:: IsAtEndT