C-Breeze
C Compiler Infrastructure

[ Project home page]

loopTreeNode Class Reference

#include <loops.h>

List of all members.

Public Types

enum  LoopKind { SingleEntry, MultipleEntry, Top }
 Types of loops. More...

Public Member Functions

 loopTreeNode (LoopKind kind, basicblockNode *header)
 Create a new loop.
void addBlock (basicblockNode *block)
 Add a block to the loop.
void addNestedLoop (loopTreeNode *nest)
 Add a nested loop to the loop.
LoopKind kind () const
 Accessors.
int depth () const
void depth (int d)
basicblockNodeheader () const
basicblockNodepreheader () const
loopTreeNodeparentLoop () const
void parentLoop (loopTreeNode *parent)
loop_setnestedLoops ()
basicblock_setblocks ()
void report ()
 Report.
void output (output_context &, Node *parent)
void output_stmt (output_context &, Node *parent)

Private Attributes

LoopKind _kind
 Kind of loop.
int _depth
 Loop depth (zero is the top).
basicblockNode_header
 The loop header.
basicblockNode_preheader
 The loop preheader.
loopTreeNode_parentLoop
 The containing loop.
loop_set _nestedLoops
 The set of nested loops.
basicblock_set _blocks
 The set of basic blocks.


Member Enumeration Documentation

enum loopTreeNode::LoopKind
 

Types of loops.

Enumeration values:
SingleEntry 
MultipleEntry 
Top 

Definition at line 69 of file loops.h.


Constructor & Destructor Documentation

loopTreeNode::loopTreeNode LoopKind  kind,
basicblockNode header
 

Create a new loop.


Member Function Documentation

void loopTreeNode::addBlock basicblockNode block  )  [inline]
 

Add a block to the loop.

Definition at line 109 of file loops.h.

References _blocks.

void loopTreeNode::addNestedLoop loopTreeNode nest  )  [inline]
 

Add a nested loop to the loop.

Definition at line 113 of file loops.h.

References _nestedLoops.

basicblock_set& loopTreeNode::blocks  )  [inline]
 

Definition at line 131 of file loops.h.

References _blocks.

void loopTreeNode::depth int  d  )  [inline]
 

Definition at line 120 of file loops.h.

References _depth.

int loopTreeNode::depth  )  const [inline]
 

Definition at line 119 of file loops.h.

References _depth.

basicblockNode* loopTreeNode::header  )  const [inline]
 

Definition at line 122 of file loops.h.

References _header.

LoopKind loopTreeNode::kind  )  const [inline]
 

Accessors.

Definition at line 117 of file loops.h.

References _kind.

loop_set& loopTreeNode::nestedLoops  )  [inline]
 

Definition at line 129 of file loops.h.

References _nestedLoops.

void loopTreeNode::output output_context ,
Node parent
 

void loopTreeNode::output_stmt output_context ,
Node parent
 

void loopTreeNode::parentLoop loopTreeNode parent  )  [inline]
 

Definition at line 127 of file loops.h.

References _parentLoop.

loopTreeNode* loopTreeNode::parentLoop  )  const [inline]
 

Definition at line 126 of file loops.h.

References _parentLoop.

basicblockNode* loopTreeNode::preheader  )  const [inline]
 

Definition at line 124 of file loops.h.

References _preheader.

void loopTreeNode::report  ) 
 

Report.


Member Data Documentation

basicblock_set loopTreeNode::_blocks [private]
 

The set of basic blocks.

Definition at line 99 of file loops.h.

Referenced by addBlock(), and blocks().

int loopTreeNode::_depth [private]
 

Loop depth (zero is the top).

Definition at line 79 of file loops.h.

Referenced by depth().

basicblockNode* loopTreeNode::_header [private]
 

The loop header.

Definition at line 83 of file loops.h.

Referenced by header().

LoopKind loopTreeNode::_kind [private]
 

Kind of loop.

Definition at line 75 of file loops.h.

Referenced by kind().

loop_set loopTreeNode::_nestedLoops [private]
 

The set of nested loops.

Definition at line 95 of file loops.h.

Referenced by addNestedLoop(), and nestedLoops().

loopTreeNode* loopTreeNode::_parentLoop [private]
 

The containing loop.

Definition at line 91 of file loops.h.

Referenced by parentLoop().

basicblockNode* loopTreeNode::_preheader [private]
 

The loop preheader.

Definition at line 87 of file loops.h.

Referenced by preheader().


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

Generated on February 1, 2006
Back to the C-Breeze home page