osprey/be/cg/hb.h File Reference

#include <list>
#include "bb.h"
#include "findloops.h"

Include dependency graph for hb.h:

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

Go to the source code of this file.

Data Types

type  HB

Defines

#define HB_LOOP_FLAG   0x0001
#define HB_ERASE_FLAG   0x0002
#define HB_SEEN_FLAG   0x0004

Typedefs

typedef std::list< BB * > HB_bb_list

Functions/Subroutines

INT HB_Flags (HB *hb)
void HB_Flags_Clear (HB *hb)
BOOL HB_Flags_Check (HB *hb, INT flag)
void HB_Flags_Set (HB *hb, INT flag)
BBHB_Entry (HB *hb)
void HB_Entry_Set (HB *hb, BB *entry)
BBHB_Exit (HB *hb)
void HB_Exit_Set (HB *hb, BB *exit)
BBHB_Fall_Thru_Exit (HB *hb)
void HB_Fall_Thru_Exit_Set (HB *hb, BB *fall_thru_exit)
BB_SET * HB_Blocks (HB *hb)
void HB_Blocks_Set (HB *hb, BB_SET *bb_set)
void HB_Blocks_Copy (HB *hb, BB_SET *bb_set)
void HB_Add_Block (HB *hb, BB *bb)
void HB_Add_Block_And_Map (HB *hb, BB *bb)
void HB_Add_BB_SET (HB *hb, BB_SET *bb_set, MEM_POOL *pool)
void HB_Intersect_BB_SET (HB *hb, BB_SET *bb_set)
void HB_Remove_Block (HB *hb, BB *bb)
void HB_Remove_Blocks (HB *hb, BB_SET *bbs)
void HB_Remove_Block_And_Map (HB *hb, BB *bb)
BOOL HB_Contains_Block (HB *hb, BB *bb)
void Get_HB_Blocks_List (std::list< BB * > &blocks, HB *hb)
void HB_Remove_Map (HB *hb)
HB_bb_listHB_Blocks_List (HB *hb)
HBHB_Alloc (MEM_POOL *pool)
void HB_Init (void)
void HB_Form_Hyperblocks (RID *rid, const BB_REGION &bb_region)
void HB_Predecessor_Count (HB *hb, BB_MAP &predecessor_count)
void HB_Add_BBs_And_Map (HB *hb, BB_SET *bbset)
void HB_Copy_BBs_And_Map (HB *hb, BB_SET *bbset)
BBForce_If_Convert (LOOP_DESCR *loop, BOOL allow_multi_bb)
void HB_Remove_Deleted_Blocks (void)
void Setup_HB_bb_map (void)

Variables

BB_MAP HB_bb_map
MEM_POOL MEM_HB_pool
std::list< HB * > HB_list
float HB_minimum_priority
BOOL HB_do_local_liveness
BOOL HB_allow_tail_duplication
BOOL HB_did_tail_duplication


Define Documentation

#define HB_ERASE_FLAG   0x0002

Definition at line 213 of file hb.h.

#define HB_LOOP_FLAG   0x0001

Definition at line 212 of file hb.h.

Referenced by HB_Block_Select().

#define HB_SEEN_FLAG   0x0004

Definition at line 214 of file hb.h.

Referenced by HB_Form_HB_List().


Typedef Documentation

typedef std::list< BB * > HB_bb_list

Definition at line 186 of file hb.h.


Function Documentation

BB* Force_If_Convert ( LOOP_DESCR loop,
BOOL  allow_multi_bb 
)

void Get_HB_Blocks_List ( std::list< BB * > &  blocks,
HB hb 
)

Definition at line 250 of file hb.cxx.

References BB_id, HB::block_list, DevWarn, and i.

Referenced by IGLS_Schedule_Region().

void HB_Add_BB_SET ( HB hb,
BB_SET *  bb_set,
MEM_POOL pool 
) [inline]

Definition at line 371 of file hb.h.

References HB::blocks, and HB_Blocks().

Referenced by HB_Add_BBs_And_Map(), and Make_New_Region().

void HB_Add_BBs_And_Map ( HB hb,
BB_SET *  bbset 
)

Definition at line 124 of file hb.cxx.

References BB_MAP_Set(), HB_Add_BB_SET(), and MEM_pu_pool.

Referenced by Update_Tree().

void HB_Add_Block ( HB hb,
BB bb 
) [inline]

Definition at line 349 of file hb.h.

References HB::blocks, HB_Blocks(), and MEM_pu_pool.

Referenced by add_block_walk(), and replace_block_walk().

void HB_Add_Block_And_Map ( HB hb,
BB bb 
) [inline]

Definition at line 359 of file hb.h.

References BB_MAP_Set(), HB::blocks, HB_Blocks(), and MEM_pu_pool.

HB* HB_Alloc ( MEM_POOL pool  ) 

Definition at line 110 of file hb.cxx.

References CXX_NEW, HB_Blocks_Set(), HB_Entry_Set(), HB_Flags_Clear(), NULL, and PU_BB_Count.

Referenced by Make_New_Region().

BB_SET* HB_Blocks ( HB hb  )  [inline]

void HB_Blocks_Copy ( HB hb,
BB_SET *  bb_set 
) [inline]

Definition at line 339 of file hb.h.

References HB::blocks, and MEM_pu_pool.

Referenced by HB_Block_Select(), and HB_Copy_BBs_And_Map().

HB_bb_list* HB_Blocks_List ( HB hb  )  [inline]

Definition at line 446 of file hb.h.

References HB::block_list.

Referenced by HB_Form_HB_List().

void HB_Blocks_Set ( HB hb,
BB_SET *  bb_set 
) [inline]

Definition at line 329 of file hb.h.

References HB::blocks.

Referenced by Force_If_Convert(), HB_Alloc(), and HB_Remove_Deleted_Blocks().

BOOL HB_Contains_Block ( HB hb,
BB bb 
) [inline]

void HB_Copy_BBs_And_Map ( HB hb,
BB_SET *  bbset 
)

Definition at line 141 of file hb.cxx.

References BB_MAP_Set(), and HB_Blocks_Copy().

BB* HB_Entry ( HB hb  )  [inline]

void HB_Entry_Set ( HB hb,
BB entry 
) [inline]

BB* HB_Exit ( HB hb  )  [inline]

void HB_Exit_Set ( HB hb,
BB exit 
) [inline]

Definition at line 289 of file hb.h.

References HB::exit.

Referenced by Make_New_Region(), and Merge_Blocks().

BB* HB_Fall_Thru_Exit ( HB hb  )  [inline]

void HB_Fall_Thru_Exit_Set ( HB hb,
BB fall_thru_exit 
) [inline]

Definition at line 309 of file hb.h.

References HB::fall_thru_exit.

Referenced by Make_New_Region().

INT HB_Flags ( HB hb  )  [inline]

Definition at line 218 of file hb.h.

References HB::flags.

BOOL HB_Flags_Check ( HB hb,
INT  flag 
) [inline]

Definition at line 238 of file hb.h.

References HB::flags.

Referenced by HB_Block_Select(), and HB_Form_HB_List().

void HB_Flags_Clear ( HB hb  )  [inline]

Definition at line 228 of file hb.h.

References HB::flags.

Referenced by HB_Alloc().

void HB_Flags_Set ( HB hb,
INT  flag 
) [inline]

Definition at line 248 of file hb.h.

References HB::flags.

Referenced by HB_Form_HB_List().

void HB_Form_Hyperblocks ( RID rid,
const BB_REGION bb_region 
)

void HB_Init ( void   ) 

void HB_Intersect_BB_SET ( HB hb,
BB_SET *  bb_set 
) [inline]

Definition at line 381 of file hb.h.

References HB::blocks, and HB_Blocks().

void HB_Predecessor_Count ( HB hb,
BB_MAP predecessor_count 
)

void HB_Remove_Block ( HB hb,
BB bb 
) [inline]

Definition at line 391 of file hb.h.

References HB::blocks, and HB_Blocks().

Referenced by HB_Form_HB_List(), Make_New_Region(), and replace_block_walk().

void HB_Remove_Block_And_Map ( HB hb,
BB bb 
) [inline]

Definition at line 411 of file hb.h.

References BB_MAP_Set(), HB::blocks, HB_Blocks(), and NULL.

void HB_Remove_Blocks ( HB hb,
BB_SET *  bbs 
) [inline]

Definition at line 401 of file hb.h.

References HB::blocks.

Referenced by HB_Remove_BBs_From_Hyperblocks().

void HB_Remove_Deleted_Blocks ( void   ) 

void HB_Remove_Map ( HB hb  )  [inline]

Definition at line 435 of file hb.h.

References BB_MAP_Set(), HB_Blocks(), and NULL.

void Setup_HB_bb_map ( void   ) 

Definition at line 174 of file hb.cxx.


Variable Documentation

Definition at line 413 of file cg_flags.cxx.

Referenced by HB_Tail_Duplicate().

Definition at line 74 of file hb.cxx.

Referenced by HB_Form_Hyperblocks(), and HB_Tail_Duplicate().

std::list<HB *> HB_list

Definition at line 72 of file hb.cxx.

Referenced by Find_General_Region_Entry_Candidates(), HB_Init(), and Select_Blocks().


Generated on Wed Apr 8 14:26:37 2009 for Open64 by  doxygen 1.5.6