osprey/be/cg/orc_ict/region.h File Reference

#include "bb.h"
#include "hb_tail_duplication.h"
#include <stack>
#include <vector>
#include <queue>
#include <list>
#include "defs.h"
#include "cxx_memory.h"
#include "timing.h"

Include dependency graph for region.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  GLOBAL_CYCLE
type  RGN_SIZE
type  RGN_FORM_PAR
type  EDGE_PROF< POINT >
type  TEMP_RGN
module  REGIONAL_CFG_EDGE
module  REGIONAL_CFG_NODE
union  REGIONAL_CFG_NODE::source_node
module  REGIONAL_CFG_MEM
module  REGIONAL_CFG
module  CFG_SUCC_NODE_ITER
module  CFG_PRED_NODE_ITER
module  CFG_PRED_EDGE_ITER
module  CFG_SUCC_EDGE_ITER
module  TOPOLOGICAL_REGIONAL_CFG_ITER_MEM
module  TOPOLOGICAL_REGIONAL_CFG_ITER
module  REVERSE_TOPO_REGIONAL_CFG_ITER
module  PREORDER_REGIONAL_CFG_ITER
module  SEQ_REGIONAL_CFG_ITER
module  REGION
module  MEME_REGION
module  SEME_REGION
module  LOOP_REGION
module  IMPROPER_REGION
module  REGION_TREE_MEM
module  REGION_TREE
module  REGION_KID_ITER
module  INNERMOST_REGION_FIRST_ITER

Typedefs

typedef EDGE_PROF
< REGIONAL_CFG_NODE * > 
NODE_PROF
typedef mempool_allocator
< NODE_PROF
PROF_ALLOC
typedef std::vector< NODE_PROF,
PROF_ALLOC
NODE_PROF_VECTOR
typedef NODE_PROF_VECTOR::iterator NODE_PROF_VECTOR_ITER
typedef mempool_allocator
< GLOBAL_CYCLE
GLOBAL_CYCLE_ALLOC
typedef std::vector
< GLOBAL_CYCLE,
GLOBAL_CYCLE_ALLOC
GLOBAL_CYCLE_VECTOR
typedef
GLOBAL_CYCLE_VECTOR::iterator 
GLOBAL_CYCLE_VECTOR_ITER
typedef mempool_allocator< INTINT_ALLOC
typedef std::vector< INT,
INT_ALLOC
INT_VECTOR
typedef mempool_allocator
< REGIONAL_CFG_NODE * > 
NODE_ALLOC
typedef std::vector
< REGIONAL_CFG_NODE
*, NODE_ALLOC
NODE_VECTOR
typedef mempool_allocator
< REGION * > 
REGION_ALLOC
typedef std::vector< REGION
*, REGION_ALLOC
REGION_VECTOR
typedef REGION_VECTOR::iterator REGION_VECTOR_ITER
typedef
REGION_VECTOR::const_iterator 
RGN_VECTOR_CONST_ITER
typedef mempool_allocator< BB * > BB_ALLOC
typedef std::vector< BB
*, BB_ALLOC
BB_VECTOR
typedef BB_VECTOR::iterator BB_VECTOR_ITER
typedef BB_VECTOR::const_iterator BB_VECTOR_CONST_ITER
typedef mempool_allocator
< REGIONAL_CFG_EDGE * > 
EDGE_ALLOC
typedef std::vector
< REGIONAL_CFG_EDGE
*, EDGE_ALLOC
EDGE_VECTOR
typedef EDGE_VECTOR::iterator EDGE_VECTOR_ITER
typedef NODE_VECTOR::iterator NODE_VECTOR_ITER
typedef std::stack
< REGIONAL_CFG_NODE
*, NODE_VECTOR
NODE_STACK
typedef std::stack
< REGIONAL_CFG_EDGE
*, EDGE_VECTOR
EDGE_STACK

Enumerations

enum  REGION_TYPE {
  UNKNOWN = 0x00, ROOT = 0x01, MEME = 0x02, SEME = 0x04,
  IMPROPER = 0x08, LOOP = 0x10, UNKNOWN = 0x00, ROOT = 0x01,
  MEME = 0x02, SEME = 0x04, IMPROPER = 0x08, LOOP = 0x10
}
enum  REGION_ATTRIBUTE {
  NONE = 0x00, NO_FURTHER_OPTIMIZATION = 0x01, RIGID = 0x02, PERSISTENT_BOUNDARY = 0x04,
  NO_OPTIMIZAION_ACROSS_BOUNDARY = 0x08, NONE = 0x00, NO_FURTHER_OPTIMIZATION = 0x01, RIGID = 0x02,
  PERSISTENT_BOUNDARY = 0x04, NO_OPTIMIZAION_ACROSS_BOUNDARY = 0x08
}

Functions/Subroutines

BBCopy_BB_For_Tail_Duplication (HB *hb, BB *old_bb)
void Create_BB_Node_Map (void)
void Delete_BB_Node_Map (void)
NODE_VECTOR_ITER Find_In_Vector (REGIONAL_CFG_NODE *node, NODE_VECTOR &nodes)
BB_VECTOR_ITER Find_In_BB_Vector (BB *bb, BB_VECTOR &bbs)
void Print_Node_Vector (NODE_VECTOR nodes)
void Print_Ops_In_BB (BB *bb)
void Print_BB_Vector (BB_VECTOR bbs)
void Initialize_Temp_Rgn (TEMP_RGN &temp_rgn, MEM_POOL _m)

Variables

BB_MAP bb_node_map
GLOBAL_CYCLE_VECTOR global_cycles


Typedef Documentation

Definition at line 131 of file region.h.

typedef std::vector<BB*,BB_ALLOC> BB_VECTOR

Definition at line 132 of file region.h.

typedef BB_VECTOR::const_iterator BB_VECTOR_CONST_ITER

Definition at line 134 of file region.h.

typedef BB_VECTOR::iterator BB_VECTOR_ITER

Definition at line 133 of file region.h.

Definition at line 135 of file region.h.

Definition at line 140 of file region.h.

typedef std::vector<REGIONAL_CFG_EDGE*,EDGE_ALLOC> EDGE_VECTOR

Definition at line 136 of file region.h.

typedef EDGE_VECTOR::iterator EDGE_VECTOR_ITER

Definition at line 137 of file region.h.

Definition at line 115 of file region.h.

Definition at line 116 of file region.h.

typedef GLOBAL_CYCLE_VECTOR::iterator GLOBAL_CYCLE_VECTOR_ITER

Definition at line 117 of file region.h.

Definition at line 121 of file region.h.

typedef std::vector<INT,INT_ALLOC> INT_VECTOR

Definition at line 122 of file region.h.

Definition at line 123 of file region.h.

Definition at line 107 of file region.h.

typedef std::vector<NODE_PROF,PROF_ALLOC> NODE_PROF_VECTOR

Definition at line 109 of file region.h.

typedef NODE_PROF_VECTOR::iterator NODE_PROF_VECTOR_ITER

Definition at line 110 of file region.h.

Definition at line 139 of file region.h.

typedef std::vector<REGIONAL_CFG_NODE*,NODE_ALLOC> NODE_VECTOR

Definition at line 124 of file region.h.

typedef NODE_VECTOR::iterator NODE_VECTOR_ITER

Definition at line 138 of file region.h.

Definition at line 108 of file region.h.

Definition at line 126 of file region.h.

typedef std::vector<REGION*,REGION_ALLOC> REGION_VECTOR

Definition at line 127 of file region.h.

typedef REGION_VECTOR::iterator REGION_VECTOR_ITER

Definition at line 128 of file region.h.

typedef REGION_VECTOR::const_iterator RGN_VECTOR_CONST_ITER

Definition at line 129 of file region.h.


Enumeration Type Documentation

Enumerator:
NONE 
NO_FURTHER_OPTIMIZATION 
RIGID 
PERSISTENT_BOUNDARY 
NO_OPTIMIZAION_ACROSS_BOUNDARY 
NONE 
NO_FURTHER_OPTIMIZATION 
RIGID 
PERSISTENT_BOUNDARY 
NO_OPTIMIZAION_ACROSS_BOUNDARY 

Definition at line 176 of file region.h.

Enumerator:
UNKNOWN 
ROOT 
MEME 
SEME 
IMPROPER 
LOOP 
UNKNOWN 
ROOT 
MEME 
SEME 
IMPROPER 
LOOP 

Definition at line 152 of file region.h.


Function Documentation

BB* Copy_BB_For_Tail_Duplication ( HB hb,
BB old_bb 
)

void Create_BB_Node_Map ( void   ) 

Definition at line 69 of file region.cxx.

void Delete_BB_Node_Map ( void   ) 

Definition at line 73 of file region.cxx.

BB_VECTOR_ITER Find_In_BB_Vector ( BB bb,
BB_VECTOR bbs 
) [inline]

Definition at line 112 of file region.cxx.

NODE_VECTOR_ITER Find_In_Vector ( REGIONAL_CFG_NODE node,
NODE_VECTOR nodes 
)

Definition at line 99 of file region.cxx.

void Initialize_Temp_Rgn ( TEMP_RGN temp_rgn,
MEM_POOL  _m 
) [inline]

Definition at line 83 of file region.cxx.

void Print_BB_Vector ( BB_VECTOR  bbs  )  [inline]

Definition at line 4626 of file region.cxx.

void Print_Node_Vector ( NODE_VECTOR  nodes  )  [inline]

Definition at line 4604 of file region.cxx.

void Print_Ops_In_BB ( BB bb  )  [inline]

Definition at line 4618 of file region.cxx.


Variable Documentation

Definition at line 63 of file region.cxx.

Definition at line 64 of file region.cxx.


Generated on Wed Apr 8 14:28:42 2009 for Open64 by  doxygen 1.5.6