#include <clone.h>

Public Member Functions | |
| IPO_CLONE (WN *pu, SCOPE *scope_tab, SYMTAB_IDX symtab_idx, WN_MAP_TAB *map_tab, MEM_POOL *map_pool, MEM_POOL *m) | |
| IPO_CLONE (WN_MAP_TAB *caller, WN_MAP_TAB *callee, WN_MAP parent, SCOPE *callee_scope_tab=NULL, SCOPE *caller_scope_tab=NULL, SYMTAB_IDX callee_symtab_idx=0, SYMTAB_IDX caller_symtab_idx=0, IPO_SYMTAB *cloned_symtab=NULL, MEM_POOL *map_pool=NULL, BOOL same_file=TRUE, mUINT16 filenum=0) | |
| IPO_CLONE (IPO_SYMTAB *ipo_symtab) | |
| void | Set_Entry_Point (WN *, WN *, ST *) |
| WN * | Clone_Tree (WN *, ST *clone_st=NULL) |
| void | New_Clone (ST *clone_st=NULL) |
| void | Promote_Statics () |
| WN * | Get_Cloned_PU () const |
| SCOPE * | Get_Cloned_Symtab () const |
| char * | Get_Func_Name () |
| WN_MAP_TAB * | Get_Cloned_maptab () |
| WN_MAP | Get_parent_map () |
| ST * | Get_Func_ST () |
| IPO_SYMTAB * | Get_sym () |
Private Member Functions | |
| void | Fix_ST (WN *, WN *) |
| void | Fix_TY (WN *, WN *) |
| void | Fix_INITO (WN *cloned_wn, WN *wn) |
| WN * | Copy_Node (const WN *src_wn) |
Private Attributes | |
| WN * | _orig_pu |
| WN * | _cloned_pu |
| IPO_SYMTAB * | _sym |
| WN_MAP_TAB * | _orig_map_tab |
| WN_MAP_TAB * | _cloned_map_tab |
| WN_MAP | _parent_map |
| MEM_POOL * | _mem |
| BOOL | _same_file |
| mUINT16 | _cloned_node_file_id |
| WN * | _raw_buffer |
| UINT | _raw_buf_size |
Static Private Attributes | |
| static INT | _label = 0 |
| static const INT | _default_buf_size = 2048 |
Definition at line 359 of file clone.h.
| IPO_CLONE::IPO_CLONE | ( | WN * | pu, | |
| SCOPE * | scope_tab, | |||
| SYMTAB_IDX | symtab_idx, | |||
| WN_MAP_TAB * | map_tab, | |||
| MEM_POOL * | map_pool, | |||
| MEM_POOL * | m | |||
| ) | [inline] |
| IPO_CLONE::IPO_CLONE | ( | WN_MAP_TAB * | caller, | |
| WN_MAP_TAB * | callee, | |||
| WN_MAP | parent, | |||
| SCOPE * | callee_scope_tab = NULL, |
|||
| SCOPE * | caller_scope_tab = NULL, |
|||
| SYMTAB_IDX | callee_symtab_idx = 0, |
|||
| SYMTAB_IDX | caller_symtab_idx = 0, |
|||
| IPO_SYMTAB * | cloned_symtab = NULL, |
|||
| MEM_POOL * | map_pool = NULL, |
|||
| BOOL | same_file = TRUE, |
|||
| mUINT16 | filenum = 0 | |||
| ) | [inline] |
Definition at line 422 of file clone.h.
References CXX_NEW, Malloc_Mem_Pool, and NULL.
| IPO_CLONE::IPO_CLONE | ( | IPO_SYMTAB * | ipo_symtab | ) | [inline] |
Definition at line 350 of file clone.cxx.
References _cloned_map_tab, _parent_map, _sym, Copy_Node(), Fix_INITO(), Fix_ST(), IPO_SYMTAB::Get_Cloned_INITO_IDX(), IPO_SYMTAB::Get_Cloned_ST(), IPA_WN_MAP_Set(), IPO_SYMTAB::Is_new_clone(), NULL, OPC_ALTENTRY, OPC_BLOCK, OPC_FUNC_ENTRY, OPCODE_has_label(), OPCODE_has_sym(), OPR_REGION, SCLASS_AUTO, Set_Entry_Point(), Set_ST_base_idx(), Set_ST_sclass(), ST_base(), ST_st_idx(), WN_ereg_supp(), WN_first(), WN_kid(), WN_kid_count(), WN_last(), WN_next(), WN_opcode(), WN_operator(), WN_prev(), WN_region_is_EH, and WN_st().
Referenced by New_Clone().

Definition at line 299 of file clone.cxx.
References _cloned_node_file_id, _default_buf_size, _raw_buf_size, _raw_buffer, WN::common, max, MEM_POOL_Alloc, OPERATOR_has_next_prev(), size, USRCPOS_filenum, WN_Copy_u1u2(), WN_Copy_u3(), WN_kid_count(), WN_linenum(), WN_map_id(), WN_mem_pool_ptr, WN_operator(), and WN_real_fields().
Referenced by Clone_Tree().

Definition at line 248 of file clone.cxx.
References _sym, FmtAssert, IPO_SYMTAB::Get_Cloned_INITO_IDX(), IPO_SYMTAB::Get_INITO(), IPO_SYMTAB::Get_INITO_IDX(), and WN_ereg_supp().
Referenced by Clone_Tree().

Definition at line 176 of file clone.cxx.
References _sym, FmtAssert, IPO_SYMTAB::Get_cloned_label_last_idx(), IPO_SYMTAB::Get_cloned_preg_last_idx(), IPO_SYMTAB::Get_Cloned_ST(), IPO_SYMTAB::Get_ST(), GLOBAL_SYMTAB, NULL, OPCODE_has_label(), OPCODE_has_last_label(), OPCODE_has_sym(), OPR_PRAGMA, Preg_Is_Dedicated, ST_class(), ST_level(), ST_st_idx(), St_Table, WN_label_number(), WN_last_label(), WN_offset(), WN_opcode(), WN_operator(), WN_pragma(), WN_pragma_arg1(), WN_PRAGMA_ASM_CONSTRAINT, WN_st(), and WN_st_idx().
Referenced by Clone_Tree().

| WN_MAP_TAB* IPO_CLONE::Get_Cloned_maptab | ( | ) | [inline] |
Definition at line 495 of file clone.h.
Referenced by DRA_Add_Clone().
| WN* IPO_CLONE::Get_Cloned_PU | ( | ) | const [inline] |
Definition at line 489 of file clone.h.
Referenced by DRA_Add_Clone().
| char* IPO_CLONE::Get_Func_Name | ( | ) | [inline] |
| ST* IPO_CLONE::Get_Func_ST | ( | ) | [inline] |
Definition at line 499 of file clone.h.
References WN_st().
Referenced by DRA_Add_Clone().

| IPO_SYMTAB* IPO_CLONE::Get_sym | ( | ) | [inline] |
Definition at line 501 of file clone.h.
Referenced by DRA_Add_Clone().
| void IPO_CLONE::New_Clone | ( | ST * | clone_st = NULL |
) |
Definition at line 483 of file clone.cxx.
References _cloned_map_tab, _cloned_pu, _mem, _orig_pu, _parent_map, _sym, Clone_Tree(), IPO_SYMTAB::Copy_INITO(), Copy_PU_Flags(), FmtAssert, Get_Current_PU(), IPA_WN_MAP_Create, IPO_SYMTAB::New_Symtab(), IPO_SYMTAB::Promote_Statics(), PU_has_exc_scopes(), s, ST_pu(), WN_MAP_TAB_Create(), and WN_st().
Referenced by DRA_Add_Clone().

Definition at line 106 of file clone.cxx.
References _sym, EXPORT_INTERNAL, IPO_SYMTAB::Hide_Cloned_ST(), Is_True, OPC_ALTENTRY, OPC_FUNC_ENTRY, IPO_SYMTAB::Set_Cloned_ST(), Set_ST_addr_not_saved(), Set_ST_export(), ST_st_idx(), WN_opcode(), WN_st(), and WN_st_idx().
Referenced by Clone_Tree().

WN_MAP_TAB* IPO_CLONE::_cloned_map_tab [private] |
Definition at line 372 of file clone.h.
Referenced by Clone_Tree(), and New_Clone().
mUINT16 IPO_CLONE::_cloned_node_file_id [private] |
Definition at line 380 of file clone.h.
Referenced by Copy_Node().
WN* IPO_CLONE::_cloned_pu [private] |
Definition at line 364 of file clone.h.
Referenced by New_Clone().
const INT IPO_CLONE::_default_buf_size = 2048 [static, private] |
Definition at line 369 of file clone.h.
Referenced by Copy_Node().
INT IPO_CLONE::_label = 0 [static, private] |
MEM_POOL* IPO_CLONE::_mem [private] |
Definition at line 376 of file clone.h.
Referenced by New_Clone().
WN_MAP_TAB* IPO_CLONE::_orig_map_tab [private] |
WN* IPO_CLONE::_orig_pu [private] |
Definition at line 363 of file clone.h.
Referenced by New_Clone().
WN_MAP IPO_CLONE::_parent_map [private] |
Definition at line 374 of file clone.h.
Referenced by Clone_Tree(), and New_Clone().
UINT IPO_CLONE::_raw_buf_size [private] |
Definition at line 384 of file clone.h.
Referenced by Copy_Node().
WN* IPO_CLONE::_raw_buffer [private] |
Definition at line 383 of file clone.h.
Referenced by Copy_Node().
BOOL IPO_CLONE::_same_file [private] |
IPO_SYMTAB* IPO_CLONE::_sym [private] |
Definition at line 366 of file clone.h.
Referenced by Clone_Tree(), Fix_INITO(), Fix_ST(), New_Clone(), and Set_Entry_Point().
1.7.1