GOTO_TABLE Class Reference

#include <opt_goto.h>

Collaboration diagram for GOTO_TABLE:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 GOTO_TABLE (WN *func_nd, MEM_POOL *pool)
void Remove_Gotos ()
void Print (FILE *fp)
 ~GOTO_TABLE ()

Private Types

enum  { MAX_GOTO_EXPANDING_TRANSFORMATIONS = 20 }

Private Member Functions

WNGet_Parent (WN *wn) const
void Set_Parent (WN *wn, WN *p)
void Build ()
void Build_Rec (WN *wn, WN *parent, BOOL inside_compgoto)
void Fixup_Parents (WN *wn, WN *parent)
void Backpatch ()
BOOL Ancestor_Through_If (GOTO_DESCRIPTOR *gd)
BOOL Sibling (GOTO_DESCRIPTOR *gd)
void Move_Goto_Out (GOTO_DESCRIPTOR *gd)
void Replace_Goto_With_If (GOTO_DESCRIPTOR *gd)
void Replace_Goto_With_While (GOTO_DESCRIPTOR *gd)
void Move_Into_Else (GOTO_DESCRIPTOR *gd)
BOOL Can_Move_Into_Else (GOTO_DESCRIPTOR *gd)
BOOL Goto_Is_Noop (GOTO_DESCRIPTOR *gd) const
INT Find_Level (WN *wn)
WNFind_Common_Ancestor (WN *wn1, WN *wn2)
void Dismantle (WN *bad, WN *parent)

Private Attributes

GOTO_DESCRIPTOR_STACK _gd
GOTO_TABLE_WN_STACK _altentry
LABEL_DESCRIPTOR_STACK _bad_label
MEM_POOL_pool
WN_func_nd
HASH_TABLE< INT,
LABEL_DESCRIPTOR * > * 
_label_table
WN_MAP _parent_map
INT _offset
BOOL _contains_altentry


Detailed Description

Definition at line 153 of file opt_goto.h.


Member Enumeration Documentation

anonymous enum [private]

Enumerator:
MAX_GOTO_EXPANDING_TRANSFORMATIONS 

Definition at line 195 of file opt_goto.h.


Constructor & Destructor Documentation

GOTO_TABLE::GOTO_TABLE ( WN func_nd,
MEM_POOL pool 
) [inline]

Definition at line 164 of file opt_goto.h.

References _contains_altentry, _func_nd, _offset, Build(), and FALSE.

Here is the call graph for this function:

GOTO_TABLE::~GOTO_TABLE (  )  [inline]

Definition at line 173 of file opt_goto.h.

References _label_table, _parent_map, _pool, CXX_DELETE, and WN_MAP_Delete.


Member Function Documentation

BOOL GOTO_TABLE::Ancestor_Through_If ( GOTO_DESCRIPTOR gd  )  [private]

void GOTO_TABLE::Backpatch (  )  [private]

void GOTO_TABLE::Build (  )  [private]

Referenced by GOTO_TABLE().

void GOTO_TABLE::Build_Rec ( WN wn,
WN parent,
BOOL  inside_compgoto 
) [private]

BOOL GOTO_TABLE::Can_Move_Into_Else ( GOTO_DESCRIPTOR gd  )  [private]

void GOTO_TABLE::Dismantle ( WN bad,
WN parent 
) [private]

WN* GOTO_TABLE::Find_Common_Ancestor ( WN wn1,
WN wn2 
) [private]

INT GOTO_TABLE::Find_Level ( WN wn  )  [private]

void GOTO_TABLE::Fixup_Parents ( WN wn,
WN parent 
) [private]

WN* GOTO_TABLE::Get_Parent ( WN wn  )  const [inline, private]

Definition at line 178 of file opt_goto.h.

References _parent_map, and WN_MAP_Get.

BOOL GOTO_TABLE::Goto_Is_Noop ( GOTO_DESCRIPTOR gd  )  const [private]

void GOTO_TABLE::Move_Goto_Out ( GOTO_DESCRIPTOR gd  )  [private]

void GOTO_TABLE::Move_Into_Else ( GOTO_DESCRIPTOR gd  )  [private]

void GOTO_TABLE::Print ( FILE *  fp  ) 

void GOTO_TABLE::Remove_Gotos (  ) 

void GOTO_TABLE::Replace_Goto_With_If ( GOTO_DESCRIPTOR gd  )  [private]

void GOTO_TABLE::Replace_Goto_With_While ( GOTO_DESCRIPTOR gd  )  [private]

void GOTO_TABLE::Set_Parent ( WN wn,
WN p 
) [inline, private]

Definition at line 179 of file opt_goto.h.

References _parent_map, and WN_MAP_Set.

BOOL GOTO_TABLE::Sibling ( GOTO_DESCRIPTOR gd  )  [private]


Member Data Documentation

Definition at line 155 of file opt_goto.h.

Definition at line 156 of file opt_goto.h.

Definition at line 162 of file opt_goto.h.

Referenced by GOTO_TABLE().

Definition at line 158 of file opt_goto.h.

Referenced by GOTO_TABLE().

Definition at line 154 of file opt_goto.h.

Definition at line 159 of file opt_goto.h.

Referenced by ~GOTO_TABLE().

Definition at line 161 of file opt_goto.h.

Referenced by GOTO_TABLE().

Definition at line 160 of file opt_goto.h.

Referenced by Get_Parent(), Set_Parent(), and ~GOTO_TABLE().

Definition at line 157 of file opt_goto.h.

Referenced by ~GOTO_TABLE().


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

Generated on Fri Jul 24 05:15:54 2009 for OpenADFortTk (extended to Open64) by  doxygen 1.5.7.1