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:475

Templates

BlockT
LoopT

Method Overview

Methods

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

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

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:487

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:484

Parameters

BlockT* EntryBlock