Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
region_util.h File Reference
#include "defs.h"
#include "mempool.h"
#include "opcode.h"
#include "opcode_core.h"
#include "opcode_gen_core.h"
#include "srcpos.h"
#include "wn_core.h"
#include "wn_map.h"
#include "preg_list.h"
#include "stab.h"
#include "wn_lower.h"
Include dependency graph for region_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  region_flags_struct
union  region_flags_union
struct  points_to_ref
struct  region_id
struct  region_cs_iter

Defines

#define POINTS_TO   void /* Evil Hack because POINTS_TO is in C++ */
#define RID_CREATE_NEW_ID   -1
#define URFLAG_flags(r)   ((r).flags)
#define URFLAG_clear(r)   ( (r).flags = 0 )
#define URFLAG_rfs(r)   ((r).rfs)
#define URFLAG_level(r)   ((r).rfs.level)
#define URFLAG_type(r)   ((r).rfs.type)
#define URFLAG_gra_flags(r)   ((r).rfs.gra_flags)
#define URFLAG_return_flag(r)   ((r).rfs.return_flag)
#define URFLAG_glue_code_flag(r)   ((r).rfs.glue_code_flag)
#define URFLAG_contains_black(r)   ((r).rfs.contains_black)
#define URFLAG_contains_bounds(r)   ((r).rfs.contains_bounds)
#define URFLAG_bounds_exist(r)   ((r).rfs.bounds_exist)
#define URFLAG_aliased_to_globals(r)   ((r).rfs.aliased_to_globals)
#define URFLAG_aliased_to_indirects(r)   ((r).rfs.aliased_to_indirects)
#define URFLAG_contains_uplevel(r)   ((r).rfs.contains_uplevel)
#define URFLAG_contains_barrier(r)   ((r).rfs.contains_barrier)
#define RID_id(r)   ((r)->id)
#define RID_depth(r)   ((r)->depth)
#define RID_srcpos(r)   ((r)->srcpos)
#define RID_flags(r)   ((r)->flags)
#define RID_cginfo(r)   ((r)->cginfo)
#define RID_num_exits(r)   ((r)->num_exits)
#define RID_options(r)   ((r)->options)
#define RID_rwn(r)   ((r)->rwn)
#define RID_parent(r)   ((r)->parent)
#define RID_parent_block(r)   ((r)->parent_block)
#define RID_first_kid(r)   ((r)->first_kid)
#define RID_next(r)   ((r)->next)
#define RID_rloop(r)   ((r)->rloop)
#define RID_lowered(r)   ((r)->lowered)
#define RID_eh_range_ptr(r)   ((r)->eh_range_ptr)
#define RID_type(r)   ((r)->rid_type)
#define RID_level(r)   (URFLAG_level(*((URFLAG *)(&RID_flags(r)))))
#define RID_gra_flags(r)   (URFLAG_gra_flags(*((URFLAG *)(&RID_flags(r)))))
#define RID_has_return(r)   (URFLAG_return_flag(*((URFLAG *)(&RID_flags(r)))))
#define RID_is_glue_code(r)   (URFLAG_glue_code_flag(*((URFLAG *)(&RID_flags(r)))))
#define RID_contains_black(r)   (URFLAG_contains_black(*((URFLAG *)(&RID_flags(r)))))
#define RID_contains_bounds(r)   (URFLAG_contains_bounds(*((URFLAG *)(&RID_flags(r)))))
#define RID_bounds_exist(r)   (URFLAG_bounds_exist(*((URFLAG *)(&RID_flags(r)))))
#define RID_aliased_to_globals(r)   (URFLAG_aliased_to_globals(*((URFLAG *)(&RID_flags(r)))))
#define RID_aliased_to_indirects(r)   (URFLAG_aliased_to_indirects(*((URFLAG *)(&RID_flags(r)))))
#define RID_contains_uplevel(r)   (URFLAG_contains_uplevel(*((URFLAG *)(&RID_flags(r)))))
#define RID_contains_barrier(r)   (URFLAG_contains_barrier(*((URFLAG *)(&RID_flags(r)))))
#define RID_pregs_in(r)   ((r)->pregs_in)
#define RID_pregs_quad(r)   ((r)->pregs_quad)
#define RID_pregs_complex_quad(r)   ((r)->pregs_complex_quad)
#define RID_pregs_out(r)   ((r)->pregs_out)
#define RID_pregs_out_i(r, i)   (((r)->pregs_out)?(((r)->pregs_out)[(i)]):((PREG_LIST *)NULL))
#define RID_pregs_set_out_i(r, i)   (((r)->pregs_out)[(i)])
#define RID_used_in(r)   ((r)->used_in)
#define RID_def_in_live_out(r)   ((r)->def_in_live_out)
#define RID_has_reg_alloc(r)   (RID_gra_flags(r) & RID_FLAGS_has_reg_alloc)
#define RID_has_reg_alloc_Set(r)   (RID_gra_flags(r) |= RID_FLAGS_has_reg_alloc)
#define RID_has_reg_alloc_Reset(r)   (RID_gra_flags(r) &= ~RID_FLAGS_has_reg_alloc)
#define RID_was_gra(r)   (RID_gra_flags(r) & RID_FLAGS_was_gra)
#define RID_was_gra_Set(r)   (RID_gra_flags(r) |= RID_FLAGS_was_gra)
#define RID_was_gra__Reset(r)   (RID_gra_flags(r) &= ~RID_FLAGS_was_gra)
#define RID_TYPE_func_entry(r)   (RID_type(r) & RID_TYPE_func_entry)
#define RID_TYPE_func_entry_Set(r)
#define RID_TYPE_func_entry_Reset(r)
#define RID_TYPE_loop(r)   (RID_type(r) & RID_TYPE_loop)
#define RID_TYPE_loop_Set(r)
#define RID_TYPE_loop_Reset(r)
#define RID_TYPE_pragma(r)   (RID_type(r) & RID_TYPE_pragma)
#define RID_TYPE_pragma_Set(r)
#define RID_TYPE_pragma_Reset(r)
#define RID_TYPE_olimit(r)   (RID_type(r) & RID_TYPE_olimit)
#define RID_TYPE_olimit_Set(r)
#define RID_TYPE_olimit_Reset(r)
#define RID_TYPE_mp(r)   (RID_type(r) & RID_TYPE_mp)
#define RID_TYPE_mp_Set(r)
#define RID_TYPE_mp_Reset(r)
#define RID_TYPE_rpi(r)   (RID_type(r) & RID_TYPE_rpi)
#define RID_TYPE_rpi_Set(r)
#define RID_TYPE_rpi_Reset(r)
#define RID_TYPE_cold(r)   (RID_type(r) & RID_TYPE_cold)
#define RID_TYPE_cold_Set(r)
#define RID_TYPE_cold_Reset(r)
#define RID_TYPE_swp(r)   (RID_type(r) & RID_TYPE_swp)
#define RID_TYPE_swp_Set(r)
#define RID_TYPE_swp_Reset(r)
#define RID_TYPE_eh(r)   (RID_type(r) & RID_TYPE_eh)
#define RID_TYPE_try(r)   (RID_type(r) & RID_TYPE_try)
#define RID_TYPE_try_Set(r)
#define RID_TYPE_try_Reset(r)
#define RID_TYPE_cleanup(r)   (RID_type(r) & RID_TYPE_cleanup)
#define RID_TYPE_cleanup_Set(r)
#define RID_TYPE_cleanup_Reset(r)
#define RID_TYPE_exc_spec(r)   (RID_type(r) & RID_TYPE_exc_spec)
#define RID_TYPE_exc_spec_Set(r)
#define RID_TYPE_exc_spec_Reset(r)
#define RID_TYPE_mask(r)   (RID_type(r) & RID_TYPE_mask)
#define RID_TYPE_mask_Set(r)
#define RID_TYPE_mask_Reset(r)
#define RID_TYPE_guard(r)   (RID_type(r) & RID_TYPE_guard)
#define RID_TYPE_guard_Set(r)
#define RID_TYPE_guard_Reset(r)
#define RID_TYPE_null_cleanup(r)   (RID_type(r) & RID_TYPE_null_cleanup)
#define RID_TYPE_null_cleanup_Set(r)
#define RID_TYPE_null_cleanup_Reset(r)
#define RID_TYPE_transparent(r)
#define REGION_STACK_SIZE   10
#define REGION_CS_ITER_me(i)   ((i)->me)
#define REGION_CS_ITER_kid(i)   ((i)->kid)
#define REGION_CS_ITER_type(i)   ((i)->type)
#define REGION_CS_ITER_parent_block(i)   ((i)->parent_block)
#define REGION_CS_ITER_sp(i)   ((i)->region_marker_sp)
#define REGION_CS_ITER_marker(i, j)   ((i)->region_marker[j])
#define REGION_CS_ITER_is_pu(i)   ((i)->is_pu)
#define REGION_CS_ITER_is_not_stacked(i)   ((i)->is_not_stacked)
#define REGION_CS_ITER_wn(i)   (RID_rwn((i)->kid))

Typedefs

typedef union region_flags_union URFLAG
typedef struct points_to_ref POINTS_TO_SET
typedef struct region_id RID
typedef struct region_cs_iter REGION_CS_ITER

Enumerations

enum  REGION_LEVEL {
  RL_UNKNOWN, RL_SRC, RL_MP, RL_RGN_INIT,
  RL_IPA_PREOPT, RL_LNO_PREOPT, RL_LNO, RL_DU_PREOPT,
  RL_RAIL, RL_RBI, RL_PREOPT, RL_MAINOPT,
  RL_RVI1, RL_RVI2, RL_CG, RL_CGSCHED,
  RL_LAST
}
enum  REGION_FLAGS { RID_FLAGS_has_reg_alloc = 0x1, RID_FLAGS_was_gra = 0x2 }
enum  RID_TYPE {
  RID_TYPE_undefined = 0x00, RID_TYPE_func_entry = 0x01, RID_TYPE_loop = 0x02, RID_TYPE_pragma = 0x04,
  RID_TYPE_olimit = 0x08, RID_TYPE_mp = 0x10, RID_TYPE_rpi = 0x20, RID_TYPE_cold = 0x40,
  RID_TYPE_swp = 0x80, RID_TYPE_eh = 0x3f000, RID_TYPE_try = 0x01000, RID_TYPE_cleanup = 0x02000,
  RID_TYPE_exc_spec = 0x04000, RID_TYPE_mask = 0x08000, RID_TYPE_guard = 0x10000, RID_TYPE_null_cleanup = 0x20000
}
enum  REGION_DEBUG_FLAGS {
  TT_REGION_USER_DEBUG = 0x0001, TT_REGION_LARGE_PU_DEBUG = 0x0002, TT_REGION_LARGE_PU_OFF = 0x0004, TT_REGION_RGN_INIT_DEBUG = 0x0008,
  TT_REGION_LNO_DEBUG = 0x0010, TT_REGION_RAIL_DEBUG = 0x0020, TT_REGION_RBI_DEBUG = 0x0040, TT_REGION_WOPT_DEBUG = 0x0080,
  TT_REGION_CG_DEBUG = 0x0100, TT_REGION_BOUND_DEBUG = 0x0200, TT_REGION_ALL = 0xffffffff
}
enum  REGION_BOUND_EXIST { REGION_BOUND_UNKNOWN = FALSE, REGION_BOUND_EXISTS = TRUE }
enum  REGION_RETURN_ENUM { REGION_NO_RETURN = FALSE, REGION_RETURN = TRUE }

Functions

INT32 New_Region_Id (void)
INT32 Last_Region_Id (void)
void REGION_new_wn (WN *, WN *)
BOOL REGION_consistency_check (WN *)
void REGION_update_alias_info (WN *, struct ALIAS_MANAGER *)
RIDREGION_get_rid (const WN *)
WNREGION_find_pu (WN *)
BOOL REGION_has_black_regions (RID *)
void REGION_set_level (RID *, REGION_LEVEL)
BOOL REGION_count_exits (WN *)
void REGION_fix_up_exits (RID *, WN *)
BOOL REGION_scan_exits (WN *, INT32)
RIDRID_Create (INT, INT, WN *)
void RID_Add_kid (RID *, RID *)
void RID_unlink (RID *)
void RID_replace (RID *old_rid, RID *new_rid)
void RID_Delete (WN_MAP_TAB *, WN *)
void RID_Delete2 (RID *)
void REGION_clone (WN *, WN *, WN *)
void REGION_emit (RID *, WN *, INT32, INT32, INT64)
void RID_copy_sets (RID *, RID *)
REGION_LEVEL RID_preopt_level (INT)
BOOL REGION_search_preg_set (PREG_LIST *, PREG_NUM)
void REGION_add_wn_points_to (POINTS_TO_SET **, WN *, struct ALIAS_MANAGER *)
void REGION_add_points_to (POINTS_TO_SET **, POINTS_TO *, struct ALIAS_MANAGER *)
POINTS_TOPoints_to_copy (POINTS_TO *, MEM_POOL *)
void Get_symbol_info_for_cvt_io (POINTS_TO *, WN *)
POINTS_TOPoints_to (struct ALIAS_MANAGER *, WN *)
BOOL REGION_add_preg_in (RID *rid, PREG_NUM pr, TYPE_ID quad)
BOOL REGION_add_preg_out (RID *rid, INT32 which_set, PREG_NUM pr, TYPE_ID quad)
BOOL REGION_remove_preg (RID *rid, PREG_NUM pr, BOOL outset)
WNREGION_add_exit (WN *, WN *, WN *)
void REGION_delete_exit (RID *, INT32, WN *, BOOL)
char * REGION_get_options_string (WN *)
BOOL REGION_is_EH (WN *)
BOOL REGION_is_mp (WN *)
BOOL WN_Fake_Call_EH_Region (WN *, WN_MAP)
REGION_KIND REGION_type_to_kind (RID *)
void REGION_kind_to_type (WN *, RID *)
void REGION_propagate_return (RID *)
char * RID_level_str (RID *rid)
char * RID_type_str (RID_TYPE type)
void RID_set_print (FILE *, RID *)
void Print_points_to (FILE *, POINTS_TO *)
void RID_Fprint (FILE *, RID *)
void RID_Tree_Print (FILE *, RID *)
void RID_WN_Tree_Print (FILE *, WN *)

Variables

WN_MAP RID_map
MEM_POOL REGION_mem_pool

Define Documentation

#define POINTS_TO   void /* Evil Hack because POINTS_TO is in C++ */

Definition at line 64 of file region_util.h.

Referenced by comp_aliased::operator()().

#define REGION_CS_ITER_is_not_stacked (   i)    ((i)->is_not_stacked)

Definition at line 422 of file region_util.h.

Referenced by Do_WOPT_and_CG_with_Regions(), and LNO_Processing().

#define REGION_CS_ITER_is_pu (   i)    ((i)->is_pu)

Definition at line 421 of file region_util.h.

Referenced by Do_WOPT_and_CG_with_Regions(), and LNO_Processing().

#define REGION_CS_ITER_kid (   i)    ((i)->kid)

Definition at line 416 of file region_util.h.

#define REGION_CS_ITER_marker (   i,
 
)    ((i)->region_marker[j])

Definition at line 420 of file region_util.h.

#define REGION_CS_ITER_me (   i)    ((i)->me)

Definition at line 415 of file region_util.h.

#define REGION_CS_ITER_parent_block (   i)    ((i)->parent_block)

Definition at line 418 of file region_util.h.

#define REGION_CS_ITER_sp (   i)    ((i)->region_marker_sp)

Definition at line 419 of file region_util.h.

#define REGION_CS_ITER_type (   i)    ((i)->type)

Definition at line 417 of file region_util.h.

#define REGION_CS_ITER_wn (   i)    (RID_rwn((i)->kid))

Definition at line 423 of file region_util.h.

#define REGION_STACK_SIZE   10

Definition at line 403 of file region_util.h.

#define RID_aliased_to_globals (   r)    (URFLAG_aliased_to_globals(*((URFLAG *)(&RID_flags(r)))))

Definition at line 278 of file region_util.h.

Definition at line 279 of file region_util.h.

#define RID_bounds_exist (   r)    (URFLAG_bounds_exist(*((URFLAG *)(&RID_flags(r)))))

Definition at line 277 of file region_util.h.

#define RID_cginfo (   r)    ((r)->cginfo)

Definition at line 257 of file region_util.h.

#define RID_contains_barrier (   r)    (URFLAG_contains_barrier(*((URFLAG *)(&RID_flags(r)))))

Definition at line 281 of file region_util.h.

#define RID_contains_black (   r)    (URFLAG_contains_black(*((URFLAG *)(&RID_flags(r)))))

Definition at line 275 of file region_util.h.

#define RID_contains_bounds (   r)    (URFLAG_contains_bounds(*((URFLAG *)(&RID_flags(r)))))

Definition at line 276 of file region_util.h.

Referenced by Do_WOPT_and_CG_with_Regions().

#define RID_contains_uplevel (   r)    (URFLAG_contains_uplevel(*((URFLAG *)(&RID_flags(r)))))

Definition at line 280 of file region_util.h.

#define RID_CREATE_NEW_ID   -1

Definition at line 184 of file region_util.h.

#define RID_def_in_live_out (   r)    ((r)->def_in_live_out)

Definition at line 291 of file region_util.h.

#define RID_depth (   r)    ((r)->depth)

Definition at line 254 of file region_util.h.

#define RID_eh_range_ptr (   r)    ((r)->eh_range_ptr)

Definition at line 267 of file region_util.h.

#define RID_first_kid (   r)    ((r)->first_kid)

Definition at line 263 of file region_util.h.

#define RID_flags (   r)    ((r)->flags)

Definition at line 256 of file region_util.h.

#define RID_gra_flags (   r)    (URFLAG_gra_flags(*((URFLAG *)(&RID_flags(r)))))

Definition at line 272 of file region_util.h.

Definition at line 294 of file region_util.h.

Definition at line 296 of file region_util.h.

Definition at line 295 of file region_util.h.

#define RID_has_return (   r)    (URFLAG_return_flag(*((URFLAG *)(&RID_flags(r)))))

Definition at line 273 of file region_util.h.

#define RID_id (   r)    ((r)->id)

Definition at line 253 of file region_util.h.

Referenced by Do_WOPT_and_CG_with_Regions(), LNO_Processing(), and WOPT_Processing().

#define RID_is_glue_code (   r)    (URFLAG_glue_code_flag(*((URFLAG *)(&RID_flags(r)))))

Definition at line 274 of file region_util.h.

#define RID_level (   r)    (URFLAG_level(*((URFLAG *)(&RID_flags(r)))))

Definition at line 271 of file region_util.h.

#define RID_lowered (   r)    ((r)->lowered)

Definition at line 266 of file region_util.h.

#define RID_next (   r)    ((r)->next)

Definition at line 264 of file region_util.h.

#define RID_num_exits (   r)    ((r)->num_exits)

Definition at line 258 of file region_util.h.

#define RID_options (   r)    ((r)->options)

Definition at line 259 of file region_util.h.

Referenced by Do_WOPT_and_CG_with_Regions().

#define RID_parent (   r)    ((r)->parent)

Definition at line 261 of file region_util.h.

#define RID_parent_block (   r)    ((r)->parent_block)

Definition at line 262 of file region_util.h.

#define RID_pregs_complex_quad (   r)    ((r)->pregs_complex_quad)

Definition at line 286 of file region_util.h.

#define RID_pregs_in (   r)    ((r)->pregs_in)

Definition at line 284 of file region_util.h.

#define RID_pregs_out (   r)    ((r)->pregs_out)

Definition at line 287 of file region_util.h.

#define RID_pregs_out_i (   r,
 
)    (((r)->pregs_out)?(((r)->pregs_out)[(i)]):((PREG_LIST *)NULL))

Definition at line 288 of file region_util.h.

#define RID_pregs_quad (   r)    ((r)->pregs_quad)

Definition at line 285 of file region_util.h.

#define RID_pregs_set_out_i (   r,
 
)    (((r)->pregs_out)[(i)])

Definition at line 289 of file region_util.h.

#define RID_rloop (   r)    ((r)->rloop)

Definition at line 265 of file region_util.h.

#define RID_rwn (   r)    ((r)->rwn)

Definition at line 260 of file region_util.h.

#define RID_srcpos (   r)    ((r)->srcpos)

Definition at line 255 of file region_util.h.

#define RID_type (   r)    ((r)->rid_type)

Definition at line 268 of file region_util.h.

Referenced by Do_WOPT_and_CG_with_Regions(), and WN2C_region().

#define RID_TYPE_cleanup (   r)    (RID_type(r) & RID_TYPE_cleanup)

Definition at line 359 of file region_util.h.

#define RID_TYPE_cleanup_Reset (   r)
Value:

Definition at line 362 of file region_util.h.

#define RID_TYPE_cleanup_Set (   r)
Value:

Definition at line 360 of file region_util.h.

#define RID_TYPE_cold (   r)    (RID_type(r) & RID_TYPE_cold)

Definition at line 338 of file region_util.h.

#define RID_TYPE_cold_Reset (   r)
Value:

Definition at line 341 of file region_util.h.

#define RID_TYPE_cold_Set (   r)
Value:

Definition at line 339 of file region_util.h.

#define RID_TYPE_eh (   r)    (RID_type(r) & RID_TYPE_eh)

Definition at line 350 of file region_util.h.

#define RID_TYPE_exc_spec (   r)    (RID_type(r) & RID_TYPE_exc_spec)

Definition at line 365 of file region_util.h.

#define RID_TYPE_exc_spec_Reset (   r)
Value:

Definition at line 368 of file region_util.h.

#define RID_TYPE_exc_spec_Set (   r)
Value:

Definition at line 366 of file region_util.h.

#define RID_TYPE_func_entry (   r)    (RID_type(r) & RID_TYPE_func_entry)

Definition at line 302 of file region_util.h.

#define RID_TYPE_func_entry_Reset (   r)
Value:

Definition at line 305 of file region_util.h.

#define RID_TYPE_func_entry_Set (   r)
Value:

Definition at line 303 of file region_util.h.

#define RID_TYPE_guard (   r)    (RID_type(r) & RID_TYPE_guard)

Definition at line 377 of file region_util.h.

#define RID_TYPE_guard_Reset (   r)
Value:

Definition at line 380 of file region_util.h.

#define RID_TYPE_guard_Set (   r)
Value:

Definition at line 378 of file region_util.h.

#define RID_TYPE_loop (   r)    (RID_type(r) & RID_TYPE_loop)

Definition at line 308 of file region_util.h.

#define RID_TYPE_loop_Reset (   r)
Value:

Definition at line 311 of file region_util.h.

#define RID_TYPE_loop_Set (   r)
Value:

Definition at line 309 of file region_util.h.

#define RID_TYPE_mask (   r)    (RID_type(r) & RID_TYPE_mask)

Definition at line 371 of file region_util.h.

#define RID_TYPE_mask_Reset (   r)
Value:

Definition at line 374 of file region_util.h.

#define RID_TYPE_mask_Set (   r)
Value:

Definition at line 372 of file region_util.h.

#define RID_TYPE_mp (   r)    (RID_type(r) & RID_TYPE_mp)

Definition at line 326 of file region_util.h.

#define RID_TYPE_mp_Reset (   r)
Value:

Definition at line 329 of file region_util.h.

#define RID_TYPE_mp_Set (   r)
Value:

Definition at line 327 of file region_util.h.

Definition at line 383 of file region_util.h.

#define RID_TYPE_null_cleanup_Reset (   r)
Value:

Definition at line 386 of file region_util.h.

#define RID_TYPE_null_cleanup_Set (   r)
Value:

Definition at line 384 of file region_util.h.

#define RID_TYPE_olimit (   r)    (RID_type(r) & RID_TYPE_olimit)

Definition at line 320 of file region_util.h.

#define RID_TYPE_olimit_Reset (   r)
Value:

Definition at line 323 of file region_util.h.

#define RID_TYPE_olimit_Set (   r)
Value:

Definition at line 321 of file region_util.h.

#define RID_TYPE_pragma (   r)    (RID_type(r) & RID_TYPE_pragma)

Definition at line 314 of file region_util.h.

#define RID_TYPE_pragma_Reset (   r)
Value:

Definition at line 317 of file region_util.h.

#define RID_TYPE_pragma_Set (   r)
Value:

Definition at line 315 of file region_util.h.

#define RID_TYPE_rpi (   r)    (RID_type(r) & RID_TYPE_rpi)

Definition at line 332 of file region_util.h.

#define RID_TYPE_rpi_Reset (   r)
Value:

Definition at line 335 of file region_util.h.

#define RID_TYPE_rpi_Set (   r)
Value:

Definition at line 333 of file region_util.h.

#define RID_TYPE_swp (   r)    (RID_type(r) & RID_TYPE_swp)

Definition at line 344 of file region_util.h.

#define RID_TYPE_swp_Reset (   r)
Value:

Definition at line 347 of file region_util.h.

#define RID_TYPE_swp_Set (   r)
Value:

Definition at line 345 of file region_util.h.

#define RID_TYPE_transparent (   r)
Value:

Definition at line 390 of file region_util.h.

#define RID_TYPE_try (   r)    (RID_type(r) & RID_TYPE_try)

Definition at line 353 of file region_util.h.

#define RID_TYPE_try_Reset (   r)
Value:

Definition at line 356 of file region_util.h.

#define RID_TYPE_try_Set (   r)
Value:

Definition at line 354 of file region_util.h.

#define RID_used_in (   r)    ((r)->used_in)

Definition at line 290 of file region_util.h.

#define RID_was_gra (   r)    (RID_gra_flags(r) & RID_FLAGS_was_gra)

Definition at line 297 of file region_util.h.

#define RID_was_gra__Reset (   r)    (RID_gra_flags(r) &= ~RID_FLAGS_was_gra)

Definition at line 299 of file region_util.h.

#define RID_was_gra_Set (   r)    (RID_gra_flags(r) |= RID_FLAGS_was_gra)

Definition at line 298 of file region_util.h.

#define URFLAG_aliased_to_globals (   r)    ((r).rfs.aliased_to_globals)

Definition at line 197 of file region_util.h.

#define URFLAG_aliased_to_indirects (   r)    ((r).rfs.aliased_to_indirects)

Definition at line 198 of file region_util.h.

#define URFLAG_bounds_exist (   r)    ((r).rfs.bounds_exist)

Definition at line 196 of file region_util.h.

#define URFLAG_clear (   r)    ( (r).flags = 0 )

Definition at line 187 of file region_util.h.

#define URFLAG_contains_barrier (   r)    ((r).rfs.contains_barrier)

Definition at line 200 of file region_util.h.

#define URFLAG_contains_black (   r)    ((r).rfs.contains_black)

Definition at line 194 of file region_util.h.

#define URFLAG_contains_bounds (   r)    ((r).rfs.contains_bounds)

Definition at line 195 of file region_util.h.

#define URFLAG_contains_uplevel (   r)    ((r).rfs.contains_uplevel)

Definition at line 199 of file region_util.h.

#define URFLAG_flags (   r)    ((r).flags)

Definition at line 186 of file region_util.h.

#define URFLAG_glue_code_flag (   r)    ((r).rfs.glue_code_flag)

Definition at line 193 of file region_util.h.

#define URFLAG_gra_flags (   r)    ((r).rfs.gra_flags)

Definition at line 191 of file region_util.h.

#define URFLAG_level (   r)    ((r).rfs.level)

Definition at line 189 of file region_util.h.

#define URFLAG_return_flag (   r)    ((r).rfs.return_flag)

Definition at line 192 of file region_util.h.

#define URFLAG_rfs (   r)    ((r).rfs)

Definition at line 188 of file region_util.h.

#define URFLAG_type (   r)    ((r).rfs.type)

Definition at line 190 of file region_util.h.


Typedef Documentation

typedef struct points_to_ref POINTS_TO_SET
typedef struct region_id RID
typedef union region_flags_union URFLAG

Enumeration Type Documentation

Enumerator:
REGION_BOUND_UNKNOWN 
REGION_BOUND_EXISTS 

Definition at line 165 of file region_util.h.

Enumerator:
TT_REGION_USER_DEBUG 
TT_REGION_LARGE_PU_DEBUG 
TT_REGION_LARGE_PU_OFF 
TT_REGION_RGN_INIT_DEBUG 
TT_REGION_LNO_DEBUG 
TT_REGION_RAIL_DEBUG 
TT_REGION_RBI_DEBUG 
TT_REGION_WOPT_DEBUG 
TT_REGION_CG_DEBUG 
TT_REGION_BOUND_DEBUG 
TT_REGION_ALL 

Definition at line 148 of file region_util.h.

Enumerator:
RID_FLAGS_has_reg_alloc 
RID_FLAGS_was_gra 

Definition at line 111 of file region_util.h.

Enumerator:
RL_UNKNOWN 
RL_SRC 
RL_MP 
RL_RGN_INIT 
RL_IPA_PREOPT 
RL_LNO_PREOPT 
RL_LNO 
RL_DU_PREOPT 
RL_RAIL 
RL_RBI 
RL_PREOPT 
RL_MAINOPT 
RL_RVI1 
RL_RVI2 
RL_CG 
RL_CGSCHED 
RL_LAST 

Definition at line 76 of file region_util.h.

Enumerator:
REGION_NO_RETURN 
REGION_RETURN 

Definition at line 173 of file region_util.h.

enum RID_TYPE
Enumerator:
RID_TYPE_undefined 
RID_TYPE_func_entry 
RID_TYPE_loop 
RID_TYPE_pragma 
RID_TYPE_olimit 
RID_TYPE_mp 
RID_TYPE_rpi 
RID_TYPE_cold 
RID_TYPE_swp 
RID_TYPE_eh 
RID_TYPE_try 
RID_TYPE_cleanup 
RID_TYPE_exc_spec 
RID_TYPE_mask 
RID_TYPE_guard 
RID_TYPE_null_cleanup 

Definition at line 127 of file region_util.h.


Function Documentation

void Get_symbol_info_for_cvt_io ( POINTS_TO ,
WN  
)
INT32 Last_Region_Id ( void  )

Definition at line 795 of file wn.cxx.

References last_region_id.

INT32 New_Region_Id ( void  )

Definition at line 790 of file wn.cxx.

References last_region_id.

Referenced by WN_CreateRegion().

POINTS_TO* Points_to ( struct ALIAS_MANAGER *  ,
WN  
)
void Print_points_to ( FILE *  ,
POINTS_TO  
)
WN* REGION_add_exit ( WN ,
WN ,
WN  
)
void REGION_add_points_to ( POINTS_TO_SET **  ,
POINTS_TO ,
struct ALIAS_MANAGER *   
)
BOOL REGION_add_preg_in ( RID rid,
PREG_NUM  pr,
TYPE_ID  quad 
)
BOOL REGION_add_preg_out ( RID rid,
INT32  which_set,
PREG_NUM  pr,
TYPE_ID  quad 
)
void REGION_add_wn_points_to ( POINTS_TO_SET **  ,
WN ,
struct ALIAS_MANAGER *   
)
void REGION_clone ( WN ,
WN ,
WN  
)
void REGION_delete_exit ( RID ,
INT32  ,
WN ,
BOOL   
)
void REGION_emit ( RID ,
WN ,
INT32  ,
INT32  ,
INT64   
)
WN* REGION_find_pu ( WN )
void REGION_fix_up_exits ( RID ,
WN  
)
BOOL REGION_is_EH ( WN )
void REGION_kind_to_type ( WN ,
RID  
)
void REGION_new_wn ( WN ,
WN  
)
BOOL REGION_remove_preg ( RID rid,
PREG_NUM  pr,
BOOL  outset 
)
BOOL REGION_scan_exits ( WN ,
INT32   
)
BOOL REGION_search_preg_set ( PREG_LIST *  ,
PREG_NUM   
)
void REGION_set_level ( RID ,
REGION_LEVEL   
)
void REGION_update_alias_info ( WN ,
struct ALIAS_MANAGER *   
)
void RID_Add_kid ( RID ,
RID  
)
void RID_copy_sets ( RID ,
RID  
)
RID* RID_Create ( INT  ,
INT  ,
WN  
)
void RID_Delete ( WN_MAP_TAB ,
WN  
)
void RID_Delete2 ( RID )
void RID_Fprint ( FILE *  ,
RID  
)
char* RID_level_str ( RID rid)
void RID_replace ( RID old_rid,
RID new_rid 
)
void RID_set_print ( FILE *  ,
RID  
)
void RID_Tree_Print ( FILE *  ,
RID  
)
char* RID_type_str ( RID_TYPE  type)
void RID_unlink ( RID )

Variable Documentation

Referenced by WN2C_region().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines