class PopulateLoopsDFS

Declaration

template <class BlockT, class LoopT>
class PopulateLoopsDFS { /* full declaration omitted */ };

Description

Populate all loop data in a stable order during a single forward DFS.

Declared at: llvm/include/llvm/Analysis/LoopInfoImpl.h:482

Templates

BlockT
LoopT

Member Variables

private LoopInfoBase<BlockT, LoopT>* LI

Method Overview

Methods

PopulateLoopsDFS<BlockT, LoopT>(
    LoopInfoBase<BlockT, LoopT>* li)

Declared at: llvm/include/llvm/Analysis/LoopInfoImpl.h:489

Parameters

LoopInfoBase<BlockT, LoopT>* li

void insertIntoLoop(BlockT* Block)

Description

Add a single Block to its ancestor loops in PostOrder. If the block is a subloop header, add the subloop to its parent in PostOrder, then reverse the Block and Subloop vectors of the now complete subloop to achieve RPO.

Declared at: llvm/include/llvm/Analysis/LoopInfoImpl.h:494

Parameters

BlockT* Block

void traverse(BlockT* EntryBlock)

Description

Top-level driver for the forward DFS within the loop.

Declared at: llvm/include/llvm/Analysis/LoopInfoImpl.h:491

Parameters

BlockT* EntryBlock