llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Classes | Public Member Functions | List of all members
LoopNesting Class Referencefinal

#include <core/analysis/loop_nesting.h>

Classes

class  Loop
 Structure representing a loop. More...
 

Public Member Functions

 LoopNesting (const Func *func)
 Builds the loop nesting forest.
 
bool IsLoopEdge (const Block *a, const Block *b)
 Checks if an edge is a loop edge.
 
const BlockHighestAncestor (const Block *s, const Block *t)
 Returns the highest non-common ancestor of s and t.
 
std::set< Loop * >::iterator begin ()
 Iterator over the loop nesting forest.
 
std::set< Loop * >::iterator end ()
 
void dump (llvm::raw_ostream &os=llvm::errs())
 Prints the loop nesting information.
 

Detailed Description

Class to compute the loop nesting forest.

Implements a modified version of Havlak's algorithm, presented in: "Identifying loops in almost linear time", G. Ramalingam, 1999


The documentation for this class was generated from the following files: