#include <stdint.h>#include "defs.h"#include "config.h"#include "config_opt.h"#include "mempool.h"#include "wn.h"#include "wn_util.h"#include "opcode.h"#include <stdlib.h>#include "flags.h"#include "pu_info.h"#include "vho_lower.h"#include "f90_lower.h"#include "fb_whirl.h"#include "wn_simp.h"#include "topcode.h"#include "callutil.h"#include "targ_sim.h"#include "cxx_template.h"#include "prompf.h"#include "wb_f90_lower.h"#include "wn_lower.h"#include "be_util.h"#include "glob.h"#include "config_clist.h"#include "tracing.h"#include "ir_reader.h"#include "config_vho.h"#include "targ_const.h"#include "erbe.h"

Go to the source code of this file.
| #define __STDC_LIMIT_MACROS |
Definition at line 42 of file vho_lower.cxx.
| #define DO_VHO_LOWERING 1 |
Definition at line 89 of file vho_lower.cxx.
| #define EQUAL 0 |
Definition at line 287 of file vho_lower.cxx.
Referenced by create_kwd_text(), get_operator(), get_punctuator(), parse_allocate_stmt(), parse_cpnt_dcl_stmt(), parse_data_imp_do(), parse_deallocate_stmt(), parse_dir_directives(), parse_do_stmt(), parse_dollar_directives(), parse_forall(), parse_generic_spec(), parse_if_stmt(), parse_imp_do(), parse_inquire_stmt(), parse_mp_directive(), parse_name_dir(), parse_only_spec(), parse_open_mp_clauses(), parse_parameter_stmt(), parse_prefetch_ref(), parse_star_directives(), parse_type_dcl_stmt(), parse_type_spec(), process_D_option(), process_O_option(), VHO_Switch_Compare_Frequency(), and VHO_Switch_Compare_Value().
| #define GREATER 1 |
Definition at line 288 of file vho_lower.cxx.
Referenced by VHO_Switch_Compare_Frequency(), and VHO_Switch_Compare_Value().
| #define IS_POWER_OF_2 | ( | x | ) | (((x)!=0) && ((x) & ((x)-1))==0) |
Definition at line 90 of file vho_lower.cxx.
| #define LESS -1 |
Definition at line 286 of file vho_lower.cxx.
Referenced by VHO_Switch_Compare_Frequency(), and VHO_Switch_Compare_Value().
| #define record_combine_loads_failure | ( | x, | |||
| y | ) |
Definition at line 94 of file vho_lower.cxx.
Definition at line 97 of file vho_lower.cxx.
Definition at line 93 of file vho_lower.cxx.
Referenced by convert_to_reference(), Generate_Dynamic_Bounds(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), Mp_Coordinate_Call(), Mp_Layout_Call(), vho_lower_set_st_addr_info(), and Vintrinsic_Fission().
Definition at line 95 of file vho_lower.cxx.
Referenced by ARA_LOOP_INFO::Determine_Last_Value(), and DISTRIBUTION::Process_Memory().
| #define SWITCH_key | ( | i | ) | (VHO_Switch_Signed ? WN_const_val(VHO_SWITCH_wn(i)) : (UINT64) WN_const_val(VHO_SWITCH_wn(i))) |
| #define VHO_SWITCH_count | ( | i | ) | (VHO_Switch_Case_Table[i].count) |
Definition at line 237 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Opt_Case_Hoist().
| #define VHO_SWITCH_freq | ( | i | ) | (VHO_Switch_Case_Table[i].freq) |
Definition at line 238 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), VHO_Switch_Generate_Binary_Search(), VHO_Switch_Generate_Compgoto(), VHO_Switch_Generate_If_Else(), and VHO_Switch_Opt_Case_Hoist().
| #define VHO_SWITCH_wn | ( | i | ) | (VHO_Switch_Case_Table[i].wn) |
Definition at line 236 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), VHO_Switch_Find_Clusters(), VHO_Switch_Generate_Binary_Search(), VHO_Switch_Generate_Compgoto(), VHO_Switch_Generate_If_Else(), and VHO_Switch_Opt_Case_Hoist().
| typedef struct bool_expr_info_t BOOL_INFO |
| typedef struct label_map_t LABEL_MAP |
| enum ADDRESS_INFO_TYPE |
| void Disable_VHO_Opt | ( | ) |
Definition at line 8379 of file vho_lower.cxx.
References VHO_Switches_Mgr::Disable().
Referenced by VHO_Lower_Driver().
Definition at line 6671 of file vho_lower.cxx.
References BOOL, CLASS_PREG, count, FALSE, INT, Is_True, MTYPE_V, OPCODE_make_op(), OPERATOR_is_compare(), OPR_ADD, OPR_BLOCK, OPR_COMMA, OPR_INTCONST, OPR_LDID, OPR_STID, OPR_SUB, ST_class, Substitute_LDID(), WN_COPY_Tree(), WN_CreateExp2, WN_first(), WN_kid0(), WN_kid1(), WN_next(), WN_offset(), WN_operator(), WN_operator_is, WN_rtype(), and WN_st().
Referenced by vho_lower_while_do().
| void Enable_VHO_Opt | ( | ) |
Definition at line 8384 of file vho_lower.cxx.
References VHO_Switches_Mgr::Enable().
Referenced by VHO_Lower_Driver().
| static char* extract_pu_name | ( | char * | src_pu_name | ) | [static] |
Definition at line 1767 of file vho_lower.cxx.
References Is_Ldid_Or_Lda(), Is_Multiply_Or_Cvt_Multiply(), NULL, OPR_ADD, OPR_ARRAY, WN_kid0(), WN_kid1(), and WN_operator().
Referenced by VHO_Lower_Mistore(), and VHO_Lower_Mstid().
Definition at line 1499 of file vho_lower.cxx.
References FLD_get_to_field(), FLD_type, FLD_HANDLE::Is_Null(), Is_True, KIND_STRUCT, TY_kind, and UINT.
| int Get_len_and_goaheadlen | ( | char ** | str | ) |
Definition at line 4816 of file vho_lower.cxx.
References atoi(), len, and strlen().
Referenced by Is_similar_cppname().
| int GetPUSizeFromEnv | ( | char * | puname | ) |
Definition at line 1754 of file vho_lower.cxx.
References OPR_LDA, OPR_LDID, and WN_operator().
Referenced by Find_Ldid_Under_Iload().
Definition at line 1795 of file vho_lower.cxx.
References CLASS_PREG, OPC_MMILOAD, OPC_MMLDID, OPCODE_is_load(), ST_class, WN_kid0(), WN_opcode(), WN_st(), and WN_ty().
Referenced by VHO_Lower_Mstid().
Definition at line 1759 of file vho_lower.cxx.
References OPR_CVT, OPR_MPY, WN_kid0(), and WN_operator().
Referenced by Find_Ldid_Under_Iload().
Definition at line 4782 of file vho_lower.cxx.
References CLASS_PREG, FALSE, Is_Return_Preg(), OPR_LDID, OPR_STID, Return_Val_Preg, ST_sym_class(), TRUE, val, WN_kid(), WN_offset(), WN_operator(), and WN_st().
Referenced by Convert_Icall(), and vho_lower_icall().
| int Is_similar_cppname | ( | char * | name1, | |
| char * | name2 | |||
| ) |
Definition at line 4845 of file vho_lower.cxx.
References Get_len_and_goaheadlen(), NULL, strcmp(), strlen(), strncmp(), and strstr().
Referenced by vho_lower_icall().
Definition at line 6636 of file vho_lower.cxx.
References OPCODE_is_leaf(), OPR_LDID, TRUE, WN_COPY_Tree(), WN_kid(), WN_kid_count(), WN_offset(), WN_opcode(), WN_operator(), and WN_st().
Referenced by Eliminate_Temp_In_While().
| void Vho_Fini | ( | ) |
Definition at line 1266 of file vho_lower.cxx.
References FALSE, FLD_is_bit_field, FLD_last_field(), FLD_ofst, FLD_type, INT, INT32, Is_True, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, Make_fld_iter(), TRUE, TY_fld, TY_is_packed, TY_kind, TY_size, Ty_Table, VHO_Struct_Can_Be_Lowered, VHO_Struct_Field_Id_Table, VHO_Struct_Field_Is_Array_Table, VHO_Struct_Fld_Table, VHO_Struct_Last_Field_Offset, VHO_Struct_Last_Field_Size, VHO_Struct_Nfields, and VHO_Struct_Offset_Table.
Referenced by VHO_Lower_Mistore(), VHO_Lower_Mstid(), and VHO_Lower_Mstore().
| void Vho_Init | ( | ) |
Definition at line 8389 of file vho_lower.cxx.
References Build_Skiplist(), VHO_Switches_Mgr::Init(), VHO_Skip, and VHO_Skip_List.
Referenced by Phase_Init().
Definition at line 2395 of file vho_lower.cxx.
References FALSE, bool_expr_info_t::false_label, bool_expr_info_t::opcode, OPCODE_UNKNOWN, bool_expr_info_t::true_label, bool_expr_info_t::used_false_label, and bool_expr_info_t::used_true_label.
Referenced by vho_lower_cand_cior(), vho_lower_cselect(), vho_lower_do_loop(), vho_lower_do_while(), vho_lower_falsebr(), vho_lower_if(), vho_lower_truebr(), and vho_lower_while_do().
Definition at line 8323 of file vho_lower.cxx.
References NULL, and vho_lower().
Referenced by WN_INSTRUMENT_WALKER::Tree_Walk(), WN_INSTRUMENT_WALKER::Tree_Walk_Node(), and VHO_Lower_Driver().
Definition at line 8301 of file vho_lower.cxx.
References NULL, OPC_FUNC_ENTRY, OPCODE_is_expression(), OPCODE_is_scf(), OPCODE_is_stmt(), vho_lower_entry(), vho_lower_expr(), vho_lower_scf(), vho_lower_stmt(), and WN_opcode().
Referenced by VHO_Lower(), vho_lower_block(), and vho_lower_comma().
Definition at line 5311 of file vho_lower.cxx.
References INT32, NULL, vho_lower_expr(), WN_kid(), and WN_kid_count().
Referenced by vho_lower_stmt().
Definition at line 8182 of file vho_lower.cxx.
References NULL, vho_lower(), VHO_Srcpos, WN_CreateBlock, WN_Delete, WN_first(), WN_INSERT_BlockLast, WN_next(), and WN_Set_Linenum().
Referenced by vho_lower_comma(), vho_lower_compgoto(), vho_lower_do_loop(), vho_lower_do_while(), vho_lower_entry(), vho_lower_if(), vho_lower_rcomma(), vho_lower_region(), vho_lower_scf(), and vho_lower_while_do().
Definition at line 4749 of file vho_lower.cxx.
References CLIST_enabled, INT32, NULL, SCLASS_EXTERN, ST_is_export_local(), ST_name, ST_sclass, vho_lower_expr(), WN_actual, WN_Get_Linenum(), WN_kid_count(), and WN_st().
Referenced by vho_lower_icall(), and vho_lower_stmt().
Definition at line 3118 of file vho_lower.cxx.
References Be_Type_Tbl, Create_Preg(), Cur_PU_Feedback, CURRENT_SYMTAB, FALSE, bool_expr_info_t::false_label, FEEDBACK::FB_lower_circuit(), LABEL_Init(), LKIND_DEFAULT, MTYPE_I4, MTYPE_To_PREG, New_LABEL(), NULL, one, OPC_I4CAND, OPC_I4I4LDID, OPC_I4INTCONST, OPC_I4STID, opcode, bool_expr_info_t::opcode, OPCODE_UNKNOWN, TRUE, bool_expr_info_t::true_label, bool_expr_info_t::used_false_label, bool_expr_info_t::used_true_label, vho_initialize_bool_info(), vho_lower_cand_cior_name, vho_lower_expr(), vho_simplify_cand_cior(), VHO_Srcpos, WN_CreateBlock, WN_CreateFalsebr, WN_CreateGoto, WN_CreateIntconst, WN_CreateLabel, WN_CreateLdid, WN_CreateStid, WN_CreateTruebr, WN_first(), WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_opcode(), WN_Set_Linenum(), and zero.
Referenced by vho_lower_expr().
Definition at line 5850 of file vho_lower.cxx.
References CURRENT_SYMTAB, FmtAssert, INT32, label_map_t::label_flag, LABEL_Init(), LKIND_DEFAULT, new_label, New_LABEL(), label_map_t::old_label, OPR_ABS, OPR_ADD, OPR_AGOTO, OPR_ALTENTRY, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ASHR, OPR_ASSERT, OPR_BACKWARD_BARRIER, OPR_BAND, OPR_BIOR, OPR_BLOCK, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CALL, OPR_CAND, OPR_CASEGOTO, OPR_CEIL, OPR_CIOR, OPR_COMMA, OPR_COMMENT, OPR_COMPGOTO, OPR_COMPLEX, OPR_COMPOSE_BITS, OPR_CONST, OPR_CSELECT, OPR_CVT, OPR_CVTL, OPR_DIV, OPR_DIVREM, OPR_DO_LOOP, OPR_DO_WHILE, OPR_EQ, OPR_EVAL, OPR_EXC_SCOPE_BEGIN, OPR_EXC_SCOPE_END, OPR_FALSEBR, OPR_FLOOR, OPR_FORWARD_BARRIER, OPR_FUNC_ENTRY, OPR_GE, OPR_GOTO, OPR_GOTO_OUTER_BLOCK, OPR_GT, OPR_HIGHMPY, OPR_HIGHPART, OPR_ICALL, OPR_IDNAME, OPR_IF, OPR_ILOAD, OPR_ILOADX, OPR_IMAGPART, OPR_INTCONST, OPR_INTRINSIC_CALL, OPR_INTRINSIC_OP, OPR_IO, OPR_IO_ITEM, OPR_ISTORE, OPR_ISTOREX, OPR_LABEL, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LOOP_INFO, OPR_LOWPART, OPR_LSHR, OPR_LT, OPR_MADD, OPR_MAX, OPR_MAXPART, OPR_MIN, OPR_MINMAX, OPR_MINPART, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_MSTORE, OPR_MSUB, OPR_NE, OPR_NEG, OPR_NMADD, OPR_NMSUB, OPR_OPT_CHI, OPR_OPT_RESERVE2, OPR_PAREN, OPR_PARM, OPR_PICCALL, OPR_PRAGMA, OPR_PREFETCH, OPR_PREFETCHX, OPR_RCOMMA, OPR_REALPART, OPR_RECIP, OPR_REGION, OPR_REGION_EXIT, OPR_REM, OPR_RETURN, OPR_RND, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_STID, OPR_SUB, OPR_SWITCH, OPR_TAS, OPR_TRAP, OPR_TRIPLET, OPR_TRUEBR, OPR_TRUNC, OPR_WHERE, OPR_WHILE_DO, OPR_XGOTO, OPR_XMPY, OPR_XPRAGMA, TRUE, WN_actual, WN_do_body, WN_else, WN_end, WN_first(), WN_func_body, WN_if_test, WN_index, WN_kid(), WN_kid0(), WN_kid1(), WN_kid2(), WN_kid_count(), WN_label_flag(), WN_label_number(), WN_next(), WN_operator(), WN_region_body, WN_start, WN_step, WN_then, WN_while_body, and WN_while_test.
Referenced by vho_lower_while_do().
Definition at line 3885 of file vho_lower.cxx.
References __LINE__, Be_Type_Tbl, BOOL, combine, FALSE, INT32, last_index, load_opcode(), Make_Pointer_Type(), MTYPE_is_unsigned, MTYPE_U4, MTYPE_U8, NULL, OPC_U4ADD, OPC_U4BIOR, OPC_U4SHL, OPC_U4U4ILOAD, OPC_U4U4LDID, OPC_U8ADD, OPC_U8BIOR, OPC_U8SHL, OPC_U8U8ILOAD, OPC_U8U8LDID, opcode, OPCODE_desc(), OPCODE_operator(), OPR_ARRAY, OPR_ILOAD, OPR_INTCONST, OPR_LDID, record_combine_loads_failure, Set_TY_align, source, TRUE, TY_pointer, TY_size, TYPE_ID, VHO_Srcpos, vho_u4a1_ty_idx, vho_u8a1_ty_idx, WN_const_val(), WN_COPY_Tree(), WN_DELETE_Tree(), WN_desc(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_load_offset(), WN_offset(), WN_opcode(), WN_operator(), WN_set_load_addr_ty(), WN_set_opcode(), WN_set_ty(), WN_Simp_Compare_Trees(), WN_st(), and WN_ty().
Referenced by vho_lower_expr().
| static WN* vho_lower_comma | ( | WN * | wn, | |
| WN * | block, | |||
| BOOL_INFO * | bool_info, | |||
| BOOL | is_return = FALSE | |||
| ) | [static] |
Definition at line 2406 of file vho_lower.cxx.
References BOOL, call(), CLASS_PREG, Create_Preg(), first, Gen_Temp_Symbol(), Get_Current_PU, last, MTYPE_is_complex, MTYPE_M, MTYPE_To_PREG, MTYPE_TO_TY_array, MTYPE_V, NULL, OPC_MMLDID, OPC_MSTID, opcode, OPCODE_make_op(), OPR_LDID, OPR_PRAGMA, OPR_STID, PU_cxx_lang(), result, Return_Val_Preg, ST_class, TYPE_ID, VHO_Call_Opt, vho_lower(), vho_lower_block(), vho_lower_comma_name, vho_lower_expr(), VHO_Srcpos, WHIRL_Return_Val_On, WN_CreateBlock, WN_CreateLdid, WN_CreateStid, WN_desc(), WN_first(), WN_INSERT_BlockBefore(), WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_last(), WN_Ldid(), WN_load_offset(), WN_next(), WN_operator(), WN_pragma(), WN_PRAGMA_ATOMIC, WN_PRAGMA_INLINE_BODY_END, WN_PRAGMA_INLINE_BODY_START, WN_rtype(), WN_Set_Linenum(), WN_Simplify_Tree(), WN_st(), WN_Stid(), WN_store_offset(), and WN_ty().
Referenced by vho_lower_expr().
Definition at line 4622 of file vho_lower.cxx.
References NULL, vho_lower_block(), vho_lower_expr(), WN_kid0(), and WN_kid1().
Referenced by vho_lower_stmt().
Definition at line 1242 of file vho_lower.cxx.
Definition at line 3384 of file vho_lower.cxx.
References ADDRESS_SAVED, FEEDBACK::Annot(), Be_Type_Tbl, BOOL, Create_Preg(), Cur_PU_Feedback, CURRENT_SYMTAB, DevWarn, FALSE, bool_expr_info_t::false_label, FB_FREQ_UNKNOWN, FEEDBACK::FB_lower_branch(), FmtAssert, Force_IEEE_Comparisons, Gen_Temp_Symbol(), get_field_type(), LABEL_Init(), LKIND_DEFAULT, MTYPE_I4, MTYPE_is_float, MTYPE_is_integral, MTYPE_M, MTYPE_name, MTYPE_signed, MTYPE_To_PREG, MTYPE_To_TY, MTYPE_U4, MTYPE_V, New_LABEL(), NULL, offset, OPC_MCSELECT, OPC_MLOAD, OPC_VCSELECT, opcode, OPCODE_make_op(), OPCODE_name(), OPR_ABS, OPR_ADD, OPR_BIOR, OPR_CVTL, OPR_GE, OPR_GT, OPR_INTCONST, OPR_INTRINSIC_OP, OPR_LDID, OPR_LE, OPR_LT, OPR_MAX, OPR_MIN, OPR_NE, OPR_NEG, OPR_STID, OPR_SUB, Pointer_Mtype, Promoted_Mtype, ST_st_idx, ST_type, TRUE, bool_expr_info_t::true_label, TYPE_ID, bool_expr_info_t::used_false_label, bool_expr_info_t::used_true_label, VHO_Cselect_Opt, vho_initialize_bool_info(), vho_lower_cselect_name, vho_lower_expr(), vho_lower_set_st_addr_info(), VHO_Srcpos, VHO_WN_has_side_effects(), VHO_WN_is_zero(), WHIRL_Mldid_Mstid_On, WN_Binary(), WN_const_val(), WN_Create_Intrinsic, WN_CreateBlock, WN_CreateExp1, WN_CreateExp2, WN_CreateGoto, WN_CreateIf, WN_CreateIntconst, WN_CreateLabel, WN_CreateLdid, WN_CreateMload, WN_CreateParm, WN_CreateStid, WN_Cvt(), WN_cvtl_bits(), WN_desc(), WN_field_id(), WN_first(), WN_has_sym, WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_kid2(), WN_Ldid(), WN_offset(), WN_opcode(), WN_operator(), WN_PARM_BY_VALUE, WN_rtype(), WN_Set_Linenum(), WN_Simp_Compare_Trees(), WN_st(), WN_Stid(), and WN_ty().
Referenced by vho_lower_expr().
Definition at line 5685 of file vho_lower.cxx.
References CURRENT_SYMTAB, RELATED_SEGMENTED_ARRAY< T, block_size >::Delete_last(), end, bool_expr_info_t::false_label, FmtAssert, Get_Current_PU, Instrumentation_Enabled, Is_True, LABEL_Init(), SCOPE::label_tab, LKIND_DEFAULT, lower_block(), New_LABEL(), NULL, PU_c_lang(), PU_cxx_lang(), Scope_tab, start, step(), bool_expr_info_t::true_label, vho_initialize_bool_info(), vho_lower_block(), vho_lower_expr(), VHO_Srcpos, WN_CreateBlock, WN_do_body, WN_end, WN_first(), WN_INSERT_BlockLast, WN_kid0(), WN_Set_Linenum(), WN_start, and WN_step.
Referenced by vho_lower_scf().
Definition at line 5755 of file vho_lower.cxx.
References CURRENT_SYMTAB, bool_expr_info_t::false_label, LABEL_Init(), LKIND_DEFAULT, New_LABEL(), NULL, bool_expr_info_t::true_label, bool_expr_info_t::used_false_label, bool_expr_info_t::used_true_label, vho_initialize_bool_info(), vho_lower_block(), vho_lower_expr(), VHO_Srcpos, WN_CreateBlock, WN_CreateGoto, WN_CreateLabel, WN_first(), WN_INSERT_BlockLast, WN_Set_Linenum(), WN_while_body, and WN_while_test.
Referenced by vho_lower_scf().
Definition at line 8413 of file vho_lower.cxx.
References Current_PU_Count(), Disable_VHO_Opt(), EC_Skip_PU, Enable_VHO_Opt(), ErrMsg(), F90_Lower(), fdump_tree(), fprintf(), Get_Trace(), Inline_Intrinsics_Early, Ipa_Ident_Number, LOWER_FAST_EXP, LOWER_INLINE_INTRINSIC, LOWER_TREEHEIGHT, NULL, Prompf_Id_Map, PU_Info_proc_sym, Query_Skiplist(), Show_Progress, ST_name, TFile, TKIND_IR, TKIND_SYMTAB, TP_VHO_LOWER, VHO_Lower(), VHO_Skip_List, WB_F90_Lower_Initialize(), WB_F90_Lower_Terminate(), and WN_Lower().
Referenced by Preprocess_PU().
Definition at line 8273 of file vho_lower.cxx.
References CURRENT_SYMTAB, FALSE, Get_Current_PU, PREG_Table_Size(), PU_has_very_high_whirl(), Reset_PREG_Table_Size(), VHO_Force_Lowering, vho_lower_block(), VHO_Recycle_Pregs, VHO_Srcpos, WN_func_body, and WN_Get_Linenum().
Referenced by vho_lower().
Definition at line 5192 of file vho_lower.cxx.
References NULL, vho_lower_expr(), and WN_kid0().
Referenced by vho_lower_stmt().
| static WN * vho_lower_expr | ( | WN * | expr, | |
| WN * | block, | |||
| BOOL_INFO * | bool_info, | |||
| BOOL | is_return = FALSE | |||
| ) | [static] |
Definition at line 4257 of file vho_lower.cxx.
References Be_Type_Tbl, CLASS_VAR, exp, FmtAssert, Get_Current_PU, INT, INT32, INT32_MAX, INT32_MIN, INT64, INTRN_F4I4EXPEXPR, INTRN_F8I4EXPEXPR, Is_Target_64bit, KIND_STRUCT, mINT16, MTYPE_byte_size, MTYPE_size_min, Mtype_TransferSign(), MTYPE_U4, MTYPE_V, n, NULL, offset, opcode, OPCODE_desc(), OPCODE_make_op(), OPCODE_operator(), OPCODE_rtype(), opnd, OPR_ABS, OPR_ADD, OPR_ALLOCA, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ASHR, OPR_ASM_INPUT, OPR_BAND, OPR_BIOR, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CAND, OPR_CEIL, OPR_CIOR, OPR_COMMA, OPR_COMPLEX, OPR_COMPOSE_BITS, OPR_CONST, OPR_CSELECT, OPR_CVT, OPR_CVTL, OPR_DIV, OPR_DIVREM, OPR_EQ, OPR_EXTRACT_BITS, OPR_FLOOR, OPR_GE, OPR_GT, OPR_HIGHMPY, OPR_HIGHPART, OPR_IDNAME, OPR_ILOAD, OPR_ILOADX, OPR_IMAGPART, OPR_INTCONST, OPR_INTRINSIC_OP, OPR_IO_ITEM, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LOOP_INFO, OPR_LOWPART, OPR_LSHR, OPR_LT, OPR_MADD, OPR_MAX, OPR_MAXPART, OPR_MIN, OPR_MINMAX, OPR_MINPART, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_MSUB, OPR_NE, OPR_NEG, OPR_NMADD, OPR_NMSUB, OPR_OPT_RESERVE2, OPR_PAREN, OPR_PARM, OPR_RCOMMA, OPR_REALPART, OPR_RECIP, OPR_REM, OPR_RND, OPR_RROTATE, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_SUB, OPR_TAS, OPR_TRIPLET, OPR_TRUNC, OPR_WHERE, OPR_XMPY, PU_cxx_lang(), ST_class, ST_type, TRUE, TY_kind, TY_size, TYPE_ID, VHO_Combine_Loads, VHO_Iload_Opt, vho_lower_cand_cior(), vho_lower_combine_loads(), vho_lower_comma(), vho_lower_cselect(), vho_lower_rcomma(), VHO_Srcpos, WN_Binary(), WN_Bior, WN_const_val(), WN_COPY_Tree(), WN_CreateCvtl, WN_CreateLdid, WN_desc(), WN_field_id(), WN_Intconst(), WN_intrinsic(), WN_kid(), WN_kid0(), WN_kid1(), WN_kid2(), WN_kid_count(), WN_lda_offset(), WN_load_offset(), WN_Lshr, WN_Mpy, WN_offset(), WN_opcode(), WN_operator(), WN_rtype(), WN_Shl, WN_st(), WN_st_idx(), and WN_ty().
Referenced by vho_lower(), vho_lower_asm_stmt(), vho_lower_call(), vho_lower_cand_cior(), vho_lower_comma(), vho_lower_compgoto(), vho_lower_cselect(), vho_lower_do_loop(), vho_lower_do_while(), vho_lower_eval(), vho_lower_falsebr(), vho_lower_if(), vho_lower_intrinsic_call(), vho_lower_io(), vho_lower_istore(), vho_lower_mstore(), vho_lower_prefetch(), vho_lower_rcomma(), vho_lower_return_val(), vho_lower_stid(), vho_lower_switch(), vho_lower_truebr(), vho_lower_while_do(), and vho_lower_xpragma().
Definition at line 5266 of file vho_lower.cxx.
References CURRENT_SYMTAB, bool_expr_info_t::false_label, LABEL_Init(), LKIND_DEFAULT, New_LABEL(), NULL, bool_expr_info_t::true_label, vho_initialize_bool_info(), vho_lower_expr(), VHO_Srcpos, WN_CreateBlock, WN_CreateLabel, WN_first(), WN_INSERT_BlockLast, WN_kid0(), WN_label_number(), and WN_Set_Linenum().
Referenced by vho_lower_stmt().
Definition at line 4873 of file vho_lower.cxx.
References FB_TNV::_counters, FB_TNV::_exec_counter, FB_FREQ::_value, FB_TNV::_values, atoi(), BOOL, CLASS_FUNC, Copy_ST(), Cur_PU_Feedback, FEEDBACK::Delete(), DevWarn, extract_pu_name(), FEEDBACK::FB_lower_icall(), first, FB_Info_Call::freq_entry, getenv(), GLOBAL_SYMTAB, ii, INT, Is_Return_Store_Stmt(), Is_similar_cppname(), Is_True, FB_Info_Icall::Is_uninit(), last, Make_Pointer_Type(), MTYPE_bit_size, MTYPE_V, NULL, OPC_U4LDA, OPC_U4U4EQ, OPC_U8LDA, OPC_U8U8EQ, OPR_CALL, OPR_COMMENT, p, parray, Pointer_Mtype, PU_Addr_Name_Map, PU_Addr_Pusize_Map, FEEDBACK::Query_call(), FEEDBACK::Query_icall(), is::ratio, Save_Str(), SCLASS_EXTERN, Scope_tab, Set_ST_name, Set_ST_sclass, RELATED_SEGMENTED_ARRAY< T, block_size >::Size(), sprintf(), Src_File_Name, ST_name_idx(), ST_pu_type, ST_st_idx, ST_sym_class(), SCOPE::st_tab, Str_Table, strcat(), strcmp(), strcpy, FB_Info_Icall::tnv, UINT32, VHO_Icall_Devir, vho_lower_call(), vho_lower_if(), WN_COPY_Tree(), WN_Create(), WN_CreateBlock, WN_CreateIf, WN_CreateLda, WN_INSERT_BlockLast, WN_kid(), WN_kid0(), WN_kid1(), WN_kid_count(), WN_next(), WN_opcode(), WN_set_desc(), WN_set_kid_count(), WN_set_operator(), WN_set_rtype(), and WN_st_idx().
Referenced by vho_lower_stmt().
Definition at line 7674 of file vho_lower.cxx.
References Be_Type_Tbl, BOOL, Cur_PU_Feedback, CURRENT_SYMTAB, bool_expr_info_t::false_label, FEEDBACK::FB_clone_loop_test(), FEEDBACK::FB_lower_branch(), LABEL_Init(), LKIND_DEFAULT, MTYPE_byte_size, MTYPE_I4, MTYPE_is_float, MTYPE_is_integral, MTYPE_is_size_double, MTYPE_U2, MTYPE_U4, MTYPE_V, New_LABEL(), NULL, OPC_F4SELECT, OPC_F8SELECT, OPCODE_is_compare(), OPCODE_make_op(), OPR_ARRAY, OPR_CONST, OPR_GT, OPR_ILOAD, OPR_INTCONST, OPR_INTRINSIC_OP, OPR_ISTORE, OPR_LDID, OPR_RCOMMA, OPR_STID, OPR_SUB, t1, t2, tmp, TRUE, bool_expr_info_t::true_label, TY_pointed, bool_expr_info_t::used_false_label, bool_expr_info_t::used_true_label, vho_initialize_bool_info(), vho_lower_block(), vho_lower_expr(), VHO_Srcpos, WN_const_val(), WN_COPY_Tree(), WN_Create_Intrinsic, WN_CreateBlock, WN_CreateExp3, WN_CreateGoto, WN_CreateIload, WN_CreateLabel, WN_CreateLdid, WN_CreateParm, WN_desc(), WN_else, WN_field_id(), WN_first(), WN_has_sym, WN_if_test, WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_next(), WN_opcode(), WN_operator(), WN_PARM_BY_VALUE, WN_rtype(), WN_Set_Linenum(), WN_Simp_Compare_Trees(), WN_st(), WN_store_offset(), WN_then, and WN_ty().
Referenced by vho_lower_icall(), and vho_lower_scf().
Definition at line 5180 of file vho_lower.cxx.
References INT32, NULL, vho_lower_expr(), WN_actual, and WN_kid_count().
Referenced by vho_lower_stmt().
Definition at line 5254 of file vho_lower.cxx.
References INT32, NULL, vho_lower_expr(), WN_kid(), and WN_kid_count().
Referenced by vho_lower_stmt().
Definition at line 4715 of file vho_lower.cxx.
References NULL, vho_lower_expr(), WN_kid0(), and WN_kid1().
Referenced by vho_lower_stmt().
Definition at line 2083 of file vho_lower.cxx.
References BOOL, CLASS_PREG, dst, FALSE, Find_Ldid_Under_Iload(), fprintf(), get_field_type(), INT, INT32, INT64, KIND_POINTER, KIND_STRUCT, Make_Pointer_Type(), MTYPE_V, NULL, OPC_MMILOAD, OPC_MMLDID, OPCODE_make_op(), OPR_ILOAD, OPR_ISTORE, OPR_LDID, Promoted_Mtype, src, ST_class, TFile, TRUE, TY_align, TY_is_packed, TY_kind, TY_mtype, TY_pointed, TY_size, Ty_Table, VHO_Get_Field_List(), VHO_Struct_Can_Be_Lowered, VHO_Struct_Field_Id_Table, VHO_Struct_Field_Is_Array_Table, VHO_Struct_Fld_Table, VHO_Struct_Limit, VHO_Struct_Nfields, VHO_Struct_Offset_Table, VHO_Struct_Opt, WN_COPY_Tree(), WN_CreateBlock, WN_CreateIload, WN_CreateIstore, WN_CreateLdid, WN_field_id(), WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_kid0(), WN_kid1(), WN_last(), WN_load_addr_ty(), WN_offset(), WN_opcode(), WN_Set_Linenum(), WN_st(), WN_store_offset(), and WN_ty().
Referenced by vho_lower_stmt().
Definition at line 1831 of file vho_lower.cxx.
References BOOL, bytes, CLASS_PREG, dst, FALSE, Find_Ldid_Under_Iload(), fprintf(), get_field_type(), INT, INT32, INT64, Is_MM_load(), KIND_POINTER, KIND_STRUCT, Make_Pointer_Type(), MTYPE_U4, MTYPE_U8, MTYPE_V, NULL, opc, OPC_MMILOAD, OPC_MMLDID, OPCODE_make_op(), OPR_ILOAD, OPR_LDID, OPR_STID, Promoted_Mtype, src, ST_class, TFile, TRUE, TY_align, TY_is_packed, TY_kind, TY_mtype, TY_pointed, TY_size, Ty_Table, TYPE_ID, VHO_Get_Field_List(), VHO_Struct_Can_Be_Lowered, VHO_Struct_Field_Id_Table, VHO_Struct_Field_Is_Array_Table, VHO_Struct_Fld_Table, VHO_Struct_Limit, VHO_Struct_Nfields, VHO_Struct_Offset_Table, VHO_Struct_Opt, WN_COPY_Tree(), WN_CreateBlock, WN_CreateIload, WN_CreateLdid, WN_CreateStid, WN_field_id(), WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_kid0(), WN_last(), WN_load_addr_ty(), WN_offset(), WN_opcode(), WN_set_desc(), WN_set_field_id(), WN_Set_Linenum(), WN_set_rtype(), WN_st(), WN_store_offset(), and WN_ty().
Referenced by vho_lower_stid(), and vho_lower_stmt().
Definition at line 4724 of file vho_lower.cxx.
References NULL, vho_lower_expr(), VHO_Lower_Mstore(), WN_kid(), WN_kid0(), and WN_kid1().
Referenced by vho_lower_stmt().
Definition at line 1529 of file vho_lower.cxx.
References bytes, dst, FALSE, fprintf(), get_field_type(), INT32, INT64, KIND_STRUCT, Make_Pointer_Type(), MTYPE_V, NULL, opc, OPC_MLOAD, OPCODE_make_op(), OPR_ILOAD, OPR_INTCONST, OPR_ISTORE, OPR_LDA, OPR_LDID, OPR_STID, Promoted_Mtype, src, TFile, TRUE, TY_align, TY_is_packed, TY_kind, TY_mtype, TY_pointed, Ty_Table, VHO_Get_Field_List(), VHO_Struct_Can_Be_Lowered, VHO_Struct_Fld_Table, VHO_Struct_Limit, VHO_Struct_Nfields, VHO_Struct_Offset_Table, VHO_Struct_Opt, WN_const_val(), WN_COPY_Tree(), WN_CreateBlock, WN_CreateIload, WN_CreateIstore, WN_CreateLdid, WN_CreateStid, WN_field_id(), WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_kid(), WN_kid0(), WN_kid1(), WN_last(), WN_offset(), WN_opcode(), WN_operator(), WN_Set_Linenum(), WN_st(), WN_store_offset(), and WN_ty().
Referenced by vho_lower_mstore().
Definition at line 5236 of file vho_lower.cxx.
References NULL, vho_lower_expr(), and WN_kid0().
Referenced by vho_lower_stmt().
Definition at line 2654 of file vho_lower.cxx.
References Be_Type_Tbl, Create_Preg(), MTYPE_To_PREG, MTYPE_V, opcode, OPCODE_make_op(), OPR_LDID, OPR_STID, Promoted_Mtype, TYPE_ID, vho_lower_block(), vho_lower_expr(), vho_lower_rcomma_name, VHO_Srcpos, WN_CreateBlock, WN_CreateLdid, WN_CreateStid, WN_first(), WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_rtype(), and WN_Set_Linenum().
Referenced by vho_lower_expr().
Definition at line 5676 of file vho_lower.cxx.
References vho_lower_block(), and WN_region_body.
Referenced by vho_lower_scf().
Definition at line 6251 of file vho_lower.cxx.
References FmtAssert, INT32, OPR_ABS, OPR_ADD, OPR_AGOTO, OPR_ALTENTRY, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_ASHR, OPR_ASSERT, OPR_BACKWARD_BARRIER, OPR_BAND, OPR_BIOR, OPR_BLOCK, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CALL, OPR_CAND, OPR_CASEGOTO, OPR_CEIL, OPR_CIOR, OPR_COMMA, OPR_COMMENT, OPR_COMPGOTO, OPR_COMPLEX, OPR_COMPOSE_BITS, OPR_CONST, OPR_CSELECT, OPR_CVT, OPR_CVTL, OPR_DIV, OPR_DIVREM, OPR_DO_LOOP, OPR_DO_WHILE, OPR_EQ, OPR_EVAL, OPR_EXC_SCOPE_BEGIN, OPR_EXC_SCOPE_END, OPR_FALSEBR, OPR_FLOOR, OPR_FORWARD_BARRIER, OPR_FUNC_ENTRY, OPR_GE, OPR_GOTO, OPR_GOTO_OUTER_BLOCK, OPR_GT, OPR_HIGHMPY, OPR_HIGHPART, OPR_ICALL, OPR_IDNAME, OPR_IF, OPR_ILOAD, OPR_ILOADX, OPR_IMAGPART, OPR_INTCONST, OPR_INTRINSIC_CALL, OPR_INTRINSIC_OP, OPR_IO, OPR_IO_ITEM, OPR_ISTORE, OPR_ISTOREX, OPR_LABEL, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LOOP_INFO, OPR_LOWPART, OPR_LSHR, OPR_LT, OPR_MADD, OPR_MAX, OPR_MAXPART, OPR_MIN, OPR_MINMAX, OPR_MINPART, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_MSTORE, OPR_MSUB, OPR_NE, OPR_NEG, OPR_NMADD, OPR_NMSUB, OPR_OPT_CHI, OPR_OPT_RESERVE2, OPR_PAREN, OPR_PARM, OPR_PICCALL, OPR_PRAGMA, OPR_PREFETCH, OPR_PREFETCHX, OPR_RCOMMA, OPR_REALPART, OPR_RECIP, OPR_REGION, OPR_REGION_EXIT, OPR_REM, OPR_RETURN, OPR_RND, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_STID, OPR_SUB, OPR_SWITCH, OPR_TAS, OPR_TRAP, OPR_TRIPLET, OPR_TRUEBR, OPR_TRUNC, OPR_WHERE, OPR_WHILE_DO, OPR_XGOTO, OPR_XMPY, OPR_XPRAGMA, TRUE, WN_actual, WN_do_body, WN_else, WN_end, WN_first(), WN_func_body, WN_if_test, WN_index, WN_kid(), WN_kid0(), WN_kid1(), WN_kid2(), WN_kid_count(), WN_next(), WN_operator(), WN_region_body, WN_start, WN_step, WN_then, WN_while_body, and WN_while_test.
Referenced by vho_lower_while_do().
Definition at line 4708 of file vho_lower.cxx.
References MTYPE_M, NULL, vho_lower_expr(), WN_kid0(), and WN_rtype().
Referenced by vho_lower_stmt().
Definition at line 8212 of file vho_lower.cxx.
References CURRENT_SYMTAB, NULL, OPC_BLOCK, OPC_DO_LOOP, OPC_DO_WHILE, OPC_IF, OPC_REGION, OPC_WHILE_DO, PREG_Table_Size(), Reset_PREG_Table_Size(), vho_lower_block(), vho_lower_do_loop(), vho_lower_do_while(), vho_lower_if(), vho_lower_region(), vho_lower_while_do(), VHO_Recycle_Pregs, VHO_Srcpos, WN_Get_Linenum(), and WN_opcode().
Referenced by vho_lower().
| static void vho_lower_set_st_addr_info | ( | WN * | wn, | |
| ADDRESS_INFO_TYPE | code | |||
| ) | [static] |
Definition at line 2252 of file vho_lower.cxx.
References ADDRESS_PASSED, CLASS_FUNC, CLASS_VAR, FmtAssert, OPCODE_operator(), OPR_ABS, OPR_ADD, OPR_ARRAY, OPR_ASHR, OPR_BAND, OPR_BIOR, OPR_BNOR, OPR_BNOT, OPR_BXOR, OPR_CALL, OPR_CAND, OPR_CEIL, OPR_CIOR, OPR_COMMA, OPR_COMPLEX, OPR_COMPOSE_BITS, OPR_CONST, OPR_CSELECT, OPR_CVT, OPR_CVTL, OPR_DIV, OPR_DIVPART, OPR_DIVREM, OPR_EQ, OPR_EVAL, OPR_FLOOR, OPR_GE, OPR_GT, OPR_HIGHMPY, OPR_ILOAD, OPR_IMAGPART, OPR_INTCONST, OPR_INTRINSIC_OP, OPR_LAND, OPR_LDA, OPR_LDID, OPR_LE, OPR_LIOR, OPR_LNOT, OPR_LSHR, OPR_LT, OPR_MAX, OPR_MAXPART, OPR_MIN, OPR_MINMAX, OPR_MINPART, OPR_MLOAD, OPR_MOD, OPR_MPY, OPR_NE, OPR_NEG, OPR_PAREN, OPR_PARM, OPR_RCOMMA, OPR_REALPART, OPR_RECIP, OPR_REM, OPR_REMPART, OPR_RND, OPR_RSQRT, OPR_SELECT, OPR_SHL, OPR_SQRT, OPR_SUB, OPR_TAS, OPR_TRUNC, Set_ST_addr_taken_passed, Set_ST_addr_taken_saved, ST_class, TRUE, WHIRL_Addr_Passed_On, WHIRL_Addr_Saved_For_Passed_On, WN_kid0(), WN_kid1(), WN_opcode(), and WN_st().
Referenced by vho_lower_cselect().
Definition at line 4736 of file vho_lower.cxx.
References MTYPE_M, NULL, vho_lower_expr(), VHO_Lower_Mstid(), WN_desc(), and WN_kid0().
Referenced by vho_lower_stmt().
Definition at line 5322 of file vho_lower.cxx.
References CURRENT_SYMTAB, INT32_MAX, INT32_MIN, INT64, MTYPE_M, offset, opcode, OPCODE_desc(), OPCODE_make_op(), OPCODE_rtype(), OPR_AGOTO, OPR_ALTENTRY, OPR_ASM_STMT, OPR_ASSERT, OPR_BACKWARD_BARRIER, OPR_CALL, OPR_CASEGOTO, OPR_COMMENT, OPR_COMPGOTO, OPR_DEALLOCA, OPR_EVAL, OPR_EXC_SCOPE_BEGIN, OPR_EXC_SCOPE_END, OPR_FALSEBR, OPR_FORWARD_BARRIER, OPR_GOTO, OPR_GOTO_OUTER_BLOCK, OPR_ICALL, OPR_INTRINSIC_CALL, OPR_IO, OPR_ISTORE, OPR_ISTOREX, OPR_LABEL, OPR_LDA, OPR_MSTORE, OPR_PICCALL, OPR_PRAGMA, OPR_PREFETCH, OPR_PREFETCHX, OPR_REGION_EXIT, OPR_RETURN, OPR_RETURN_VAL, OPR_STID, OPR_SWITCH, OPR_TRAP, OPR_TRUEBR, OPR_XGOTO, OPR_XPRAGMA, PREG_Table_Size(), Reset_PREG_Table_Size(), TY_pointed, VHO_Istore_Opt, vho_lower_asm_stmt(), vho_lower_call(), vho_lower_casegoto(), vho_lower_compgoto(), vho_lower_eval(), vho_lower_falsebr(), vho_lower_icall(), vho_lower_intrinsic_call(), vho_lower_io(), vho_lower_istore(), VHO_Lower_Mistore(), VHO_Lower_Mstid(), vho_lower_mstore(), vho_lower_pragma(), vho_lower_prefetch(), vho_lower_prefetchx(), vho_lower_return(), vho_lower_return_val(), vho_lower_stid(), vho_lower_switch(), vho_lower_trap(), vho_lower_truebr(), vho_lower_xpragma(), VHO_Recycle_Pregs, VHO_Srcpos, WN_CreateStid, WN_desc(), WN_field_id(), WN_Get_Linenum(), WN_kid0(), WN_kid1(), WN_lda_offset(), WN_opcode(), WN_operator(), WN_Set_Linenum(), WN_st_idx(), WN_store_offset(), and WN_ty().
Referenced by vho_lower().
Definition at line 4631 of file vho_lower.cxx.
References NULL, vho_lower_expr(), VHO_Lower_Switch(), and WN_kid0().
Referenced by vho_lower_stmt().
Definition at line 1023 of file vho_lower.cxx.
References count, Cur_PU_Feedback, CURRENT_SYMTAB, FALSE, FB_FREQ_ZERO(), fprintf(), INT32, INT32_MIN, LABEL_Init(), last_label, LKIND_DEFAULT, MEM_local_pool_ptr, MEM_POOL_FREE, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_U1, MTYPE_U2, MTYPE_U4, MTYPE_U8, MTYPE_V, New_LABEL(), NULL, OPCODE_make_op(), OPR_EQ, OPR_GT, OPR_INTCONST, OPR_LT, OPR_SUB, Promoted_Mtype, FEEDBACK::Query(), TFile, TRUE, TYPE_ID, TYPE_MEM_POOL_ALLOC_N, VHO_Switch_Cluster_Table, VHO_SWITCH_count, VHO_Switch_Default_Label, VHO_Switch_EQ_Opcode, VHO_Switch_Find_Clusters(), VHO_SWITCH_freq, VHO_Switch_Generate_Binary_Search(), VHO_Switch_Generate_Compgoto(), VHO_Switch_Generate_If_Else(), VHO_Switch_GT_Opcode, VHO_Switch_If_Else_Limit, VHO_Switch_Int_Opcode, VHO_Switch_Last_Label, VHO_Switch_LT_Opcode, VHO_Switch_Nclusters, VHO_Switch_Opt, VHO_Switch_Opt_Case_Hoist(), VHO_Switch_Signed, VHO_Switch_Sub_Opcode, VHO_SWITCH_wn, WN_const_val(), WN_CreateBlock, WN_first(), WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_kid0(), WN_kid1(), WN_kid2(), WN_kid_count(), WN_label_number(), WN_last(), WN_last_label(), WN_next(), WN_rtype(), and WN_Set_Linenum().
Referenced by vho_lower_switch().
Definition at line 4647 of file vho_lower.cxx.
References CURRENT_SYMTAB, bool_expr_info_t::false_label, LABEL_Init(), LKIND_DEFAULT, New_LABEL(), NULL, bool_expr_info_t::true_label, vho_initialize_bool_info(), vho_lower_expr(), VHO_Srcpos, WN_CreateBlock, WN_CreateGoto, WN_CreateLabel, WN_first(), WN_INSERT_BlockLast, WN_kid0(), WN_label_number(), and WN_Set_Linenum().
Referenced by vho_lower_stmt().
Definition at line 7221 of file vho_lower.cxx.
References copy, Cur_PU_Feedback, CURRENT_SYMTAB, Eliminate_Temp_In_While(), FALSE, bool_expr_info_t::false_label, FEEDBACK::FB_clone_loop_test(), FEEDBACK::FB_duplicate(), FEEDBACK::FB_lower_loop_alt(), FEEDBACK::FB_lower_while_do_to_do_while(), LABEL_Init(), LKIND_DEFAULT, New_LABEL(), NULL, OPR_DO_WHILE, OPR_RCOMMA, PREG_Table_Size(), Reset_PREG_Table_Size(), TRUE, bool_expr_info_t::true_label, bool_expr_info_t::used_false_label, bool_expr_info_t::used_true_label, vho_initialize_bool_info(), vho_lower_block(), vho_lower_check_labels(), vho_lower_expr(), vho_lower_rename_labels_defined(), VHO_Single_Loop_Test, VHO_Srcpos, VHO_Use_Do_While, WN_COPY_Tree(), WN_COPY_Tree_With_Map(), WN_CreateBlock, WN_CreateFalsebr, WN_CreateGoto, WN_CreateIf, WN_CreateLabel, WN_first(), WN_INSERT_BlockFirst, WN_INSERT_BlockLast, WN_kid0(), WN_kid1(), WN_operator(), WN_Set_Linenum(), WN_set_operator(), WN_while_body, and WN_while_test.
Referenced by vho_lower_scf().
Definition at line 5212 of file vho_lower.cxx.
References Gen_Temp_Symbol(), INT32, MTYPE_TO_TY_array, NULL, vho_lower_expr(), WN_INSERT_BlockLast, WN_kid(), WN_kid0(), WN_kid_count(), WN_Ldid(), WN_rtype(), and WN_Stid().
Referenced by vho_lower_stmt().
Definition at line 2692 of file vho_lower.cxx.
References BOOL, Cur_PU_Feedback, FALSE, FEEDBACK::FB_factor_circuit(), IS_POWER_OF_2, MTYPE_is_size_double, OPC_I4CAND, OPC_I4CIOR, OPC_I4I4EQ, OPC_I4I8EQ, OPCODE_operator(), OPR_BAND, OPR_CIOR, OPR_INTCONST, OPR_NE, TRUE, WN_const_val(), WN_Create(), WN_CreateExp2, WN_kid0(), WN_kid1(), WN_opcode(), WN_operator(), WN_rtype(), and WN_Simp_Compare_Trees().
Referenced by vho_simplify_cand_cior().
Definition at line 3083 of file vho_lower.cxx.
References OPC_BCAND, OPC_BCIOR, OPC_I4CAND, OPC_I4CIOR, vho_simplify_cand(), vho_simplify_cior(), WN_kid0(), WN_kid1(), and WN_opcode().
Referenced by vho_lower_cand_cior().
Definition at line 2894 of file vho_lower.cxx.
References BOOL, Cur_PU_Feedback, FALSE, FEEDBACK::FB_factor_circuit(), OPC_I4CAND, OPC_I4CIOR, OPCODE_operator(), OPR_BAND, OPR_CAND, OPR_INTCONST, OPR_NE, TRUE, WN_const_val(), WN_Create(), WN_CreateExp2, WN_kid0(), WN_kid1(), WN_opcode(), WN_operator(), and WN_Simp_Compare_Trees().
Referenced by vho_simplify_cand_cior().
Definition at line 343 of file vho_lower.cxx.
References EQUAL, GREATER, INT32, LESS, UINT64, VHO_Switch_Signed, and WN_const_val().
Referenced by VHO_Switch_Generate_If_Else(), and VHO_Switch_Opt_Case_Hoist().
Definition at line 293 of file vho_lower.cxx.
References EQUAL, GREATER, INT32, LESS, UINT64, VHO_Switch_Signed, and WN_const_val().
Referenced by VHO_Switch_Find_Clusters().
Definition at line 913 of file vho_lower.cxx.
References fprintf(), INT32, n, qsort(), SWITCH_key, TFile, VHO_Switch_Cluster_Table, VHO_Switch_Compare_Value(), VHO_Switch_Density, VHO_Switch_If_Else_Limit, VHO_Switch_Nclusters, VHO_SWITCH_wn, WN_const_val(), and WN_label_number().
Referenced by VHO_Lower_Switch().
Definition at line 800 of file vho_lower.cxx.
References FEEDBACK::Annot(), Cur_PU_Feedback, CURRENT_SYMTAB, FB_FREQ_UNKNOWN, INT32, INT64, LABEL_Init(), LKIND_DEFAULT, New_LABEL(), NULL, VHO_Switch_Default_Label, VHO_Switch_EQ_Opcode, VHO_SWITCH_freq, VHO_Switch_GT_Opcode, VHO_Switch_Int_Opcode, VHO_Switch_LT_Opcode, VHO_SWITCH_wn, WN_const_val(), WN_COPY_Tree(), WN_CreateExp2, WN_CreateFalsebr, WN_CreateGoto, WN_CreateIntconst, WN_CreateLabel, WN_CreateTruebr, WN_Get_Linenum(), WN_INSERT_BlockAfter(), WN_label_number(), WN_last(), and WN_Set_Linenum().
Referenced by VHO_Lower_Switch().
Definition at line 702 of file vho_lower.cxx.
References FEEDBACK::Annot_switch(), Cur_PU_Feedback, FALSE, FB_FREQ_TYPE_GUESS, INT32, INT64, MEM_local_pool_ptr, MEM_POOL_FREE, n, NULL, TYPE_MEM_POOL_ALLOC_N, UINT64, FB_FREQ::Value(), VHO_Switch_Compgoto_Limit, VHO_SWITCH_freq, VHO_Switch_Int_Opcode, VHO_Switch_Last_Label, VHO_Switch_Sub_Opcode, VHO_SWITCH_wn, WN_const_val(), WN_COPY_Tree(), WN_CreateBlock, WN_CreateCompgoto, WN_CreateExp2, WN_CreateGoto, WN_CreateIntconst, WN_INSERT_BlockAfter(), WN_label_number(), WN_last(), and WN_Set_Linenum().
Referenced by VHO_Lower_Switch().
Definition at line 535 of file vho_lower.cxx.
References FEEDBACK::Annot(), Cur_PU_Feedback, INT32, qsort(), VHO_Switch_Compare_Frequency(), VHO_Switch_EQ_Opcode, VHO_SWITCH_freq, VHO_Switch_Int_Opcode, VHO_SWITCH_wn, WN_const_val(), WN_COPY_Tree(), WN_CreateBlock, WN_CreateExp2, WN_CreateIntconst, WN_CreateTruebr, WN_INSERT_BlockAfter(), WN_label_number(), WN_last(), and WN_Set_Linenum().
Referenced by VHO_Lower_Switch().
Definition at line 596 of file vho_lower.cxx.
References FEEDBACK::Annot_branch(), Cur_PU_Feedback, FEEDBACK::FB_hoist_case(), float, fprintf(), INT32, NULL, qsort(), TFile, FB_FREQ::Value(), VHO_Switch_Compare_Frequency(), VHO_SWITCH_count, VHO_Switch_EQ_Opcode, VHO_SWITCH_freq, VHO_Switch_Int_Opcode, VHO_Switch_Opt_Threshold, VHO_SWITCH_wn, WN_const_val(), WN_COPY_Tree(), WN_CreateBlock, WN_CreateExp2, WN_CreateIntconst, WN_CreateTruebr, WN_INSERT_BlockAfter(), WN_label_number(), WN_last(), WN_operator(), and WN_Set_Linenum().
Referenced by VHO_Lower_Switch().
Definition at line 116 of file vho_lower.cxx.
References BOOL, FALSE, i, INT32, OPR_ILOAD, OPR_LDID, TRUE, TY_is_volatile, WN_kid(), WN_kid0(), WN_kid_count(), WN_operator(), and WN_ty().
Referenced by vho_lower_cselect().
Definition at line 106 of file vho_lower.cxx.
References OPR_CONST, OPR_INTCONST, STC_val, Targ_Is_Zero(), WN_const_val(), WN_operator(), and WN_st().
Referenced by vho_lower_cselect().
| TYPE_ID Promoted_Mtype[MTYPE_LAST+1] |
| BOOL VHO_Give_Preg_Names = FALSE |
Definition at line 217 of file vho_lower.cxx.
INT32 vho_if_nest_level = 0 [static] |
Definition at line 7580 of file vho_lower.cxx.
const char* vho_lower_cand_cior_name = "__cand_cior" [static] |
const char* vho_lower_comma_name = "__comma" [static] |
const char* vho_lower_cselect_name = "__cselect" [static] |
LABEL_MAP vho_lower_label_map[16] [static] |
Definition at line 5845 of file vho_lower.cxx.
INT32 vho_lower_label_map_index = -1 [static] |
Definition at line 5847 of file vho_lower.cxx.
INT32 vho_lower_label_map_max = 16 [static] |
Definition at line 5846 of file vho_lower.cxx.
BOOL vho_lower_labels_defined = FALSE [static] |
Definition at line 5836 of file vho_lower.cxx.
const char* vho_lower_mstore_name = "__lower_mstore" [static] |
Definition at line 219 of file vho_lower.cxx.
const char* vho_lower_rcomma_name = "__rcomma" [static] |
BOOL vho_lower_too_many_label_definitions = FALSE [static] |
Definition at line 5837 of file vho_lower.cxx.
SRCPOS VHO_Srcpos [static] |
Definition at line 211 of file vho_lower.cxx.
Referenced by vho_lower_block(), vho_lower_cand_cior(), vho_lower_combine_loads(), vho_lower_comma(), vho_lower_cselect(), vho_lower_do_loop(), vho_lower_do_while(), vho_lower_entry(), vho_lower_expr(), vho_lower_falsebr(), vho_lower_if(), vho_lower_rcomma(), vho_lower_scf(), vho_lower_stmt(), vho_lower_truebr(), and vho_lower_while_do().
BOOL VHO_Struct_Can_Be_Lowered [static] |
Definition at line 272 of file vho_lower.cxx.
Referenced by VHO_Get_Field_List(), VHO_Lower_Mistore(), VHO_Lower_Mstid(), and VHO_Lower_Mstore().
INT32 VHO_Struct_Field_Id_Table[255] [static] |
Definition at line 281 of file vho_lower.cxx.
Referenced by VHO_Get_Field_List(), VHO_Lower_Mistore(), and VHO_Lower_Mstid().
BOOL VHO_Struct_Field_Is_Array_Table[255] [static] |
Definition at line 282 of file vho_lower.cxx.
Referenced by VHO_Get_Field_List(), VHO_Lower_Mistore(), and VHO_Lower_Mstid().
TY_IDX VHO_Struct_Fld_Table[255] [static] |
Definition at line 274 of file vho_lower.cxx.
Referenced by VHO_Get_Field_List(), VHO_Lower_Mistore(), VHO_Lower_Mstid(), and VHO_Lower_Mstore().
INT32 VHO_Struct_Last_Field_Offset [static] |
INT32 VHO_Struct_Last_Field_Size [static] |
Definition at line 268 of file vho_lower.cxx.
Referenced by VHO_Lower_Mistore(), VHO_Lower_Mstid(), and VHO_Lower_Mstore().
INT32 VHO_Struct_Nfields [static] |
Definition at line 273 of file vho_lower.cxx.
Referenced by VHO_Get_Field_List(), VHO_Lower_Mistore(), VHO_Lower_Mstid(), and VHO_Lower_Mstore().
INT32 VHO_Struct_Offset_Table[255] [static] |
Definition at line 275 of file vho_lower.cxx.
Referenced by VHO_Get_Field_List(), VHO_Lower_Mistore(), VHO_Lower_Mstid(), and VHO_Lower_Mstore().
VHO_SWITCH_ITEM* VHO_Switch_Case_Table [static] |
Definition at line 234 of file vho_lower.cxx.
INT32* VHO_Switch_Cluster_Table [static] |
Definition at line 249 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Find_Clusters().
FB_FREQ VHO_Switch_Default_Freq [static] |
Definition at line 255 of file vho_lower.cxx.
WN* VHO_Switch_Default_Goto [static] |
Definition at line 253 of file vho_lower.cxx.
LABEL_IDX VHO_Switch_Default_Label [static] |
Definition at line 247 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Generate_Binary_Search().
Definition at line 216 of file vho_lower.cxx.
| INT32 VHO_Switch_Distance = 128 |
Definition at line 215 of file vho_lower.cxx.
OPCODE VHO_Switch_EQ_Opcode [static] |
Definition at line 243 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), VHO_Switch_Generate_Binary_Search(), VHO_Switch_Generate_If_Else(), and VHO_Switch_Opt_Case_Hoist().
OPCODE VHO_Switch_GT_Opcode [static] |
Definition at line 245 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Generate_Binary_Search().
WN* VHO_Switch_Index [static] |
Definition at line 252 of file vho_lower.cxx.
OPCODE VHO_Switch_Int_Opcode [static] |
Definition at line 241 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), VHO_Switch_Generate_Binary_Search(), VHO_Switch_Generate_Compgoto(), VHO_Switch_Generate_If_Else(), and VHO_Switch_Opt_Case_Hoist().
INT32 VHO_Switch_Last_Label [static] |
Definition at line 248 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Generate_Compgoto().
OPCODE VHO_Switch_LT_Opcode [static] |
Definition at line 244 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Generate_Binary_Search().
INT32 VHO_Switch_Ncases [static] |
Definition at line 250 of file vho_lower.cxx.
INT32 VHO_Switch_Nclusters [static] |
Definition at line 251 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Find_Clusters().
BOOL VHO_Switch_Signed [static] |
Definition at line 240 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), VHO_Switch_Compare_Frequency(), and VHO_Switch_Compare_Value().
WN* VHO_Switch_Stmt [static] |
Definition at line 254 of file vho_lower.cxx.
OPCODE VHO_Switch_Sub_Opcode [static] |
Definition at line 242 of file vho_lower.cxx.
Referenced by VHO_Lower_Switch(), and VHO_Switch_Generate_Compgoto().
VHO_Switches_Mgr vho_switches_mgr [static] |
Definition at line 8377 of file vho_lower.cxx.
TY_IDX vho_u4a1_ty_idx = (TY_IDX) 0 [static] |
TY_IDX vho_u8a1_ty_idx = (TY_IDX) 0 [static] |
| return wn |
Definition at line 2060 of file vho_lower.cxx.
Referenced by ANL_PRAGMA_ATTRIBUTE::_Write_Distribution(), ANL_PRAGMA_ATTRIBUTE::_Write_Pragma_Arguments(), Access_Vector_Condition_Provable(), Accumulate_Expr_PUinfo(), LAT_DIRECTED_GRAPH16::Add_Flow_Edges(), PROMPF_LINES::Add_Lines(), Add_Vertices(), WB_BROWSER::Address_Walk(), Address_Walk(), alias_walk(), WB_BROWSER::Alias_Walk(), All_Uses_Outside_Of_Loop(), Analyze_pu_noreturn_attr(), SX_INFO::Analyze_Reduction(), WB_BROWSER::Ancestors(), Append_Distribution(), ARA_Cleanup_Traverse(), Array_Defs(), BB_kind(), Block_Has_Prompf_Construct(), BS_Collect_Arrays(), BS_Find_Region(), BS_Find_Sibling(), BS_Has_If_In_Region(), BS_Has_Use_In_Subscript(), BS_Is_Index_Variable(), BS_Loop_Within_Equivalence_Class(), BS_Range_Check(), BS_Substitute(), FIZ_FUSE_INFO::Build(), Build_Ordered_Stack_Traverse(), Build_Ori_Blocks(), Build_Regions(), TRANSPOSE_DIRECTED_GRAPH16::Build_Snl(), Build_St_Stack_And_Skip(), Build_wn_tree_from_bits(), Cache_L1_Analysis(), Cache_L1_Has_Data(), Cache_L2_Analysis(), Cache_L2_Has_Data(), Cache_Location_Analysis(), Calculate_Path_Data(), Can_Mem_Op_Be_Moved(), GOTO_TABLE::Can_Move_Into_Else(), SNL_BOUNDS_INFO::Canonicize(), CG_DEP_Call_Aliases(), CG_DEP_Latency(), CGSPILL_Attach_Const_Remat(), CGSPILL_Attach_Intconst_Remat(), CGSPILL_Attach_Lda_Remat(), CGTARG_Can_Be_Speculative(), FIZ_FUSE_INFO::Check(), Check_Suggested_Parallel(), PROMPF_INFO::Check_Traverse(), SD_INFO::Closure(), Code_Expansion_Limit_Loop(), SSA::Collect_defs_bb(), Compare_whirl_tree(), LEGO_UGS::Compute_Offset(), COND_Do_Info(), COND_If_Info(), Conditionally_Assigned(), ARA_LOOP_INFO::Const_Work_Estimate(), Contains(), Contains_Index_Variable(), Contains_Intrinsic_Op(), Convert_Just_Chunksize_To_Dynamic(), Convert_Section_To_Pdo(), Convert_virtual_call(), RVI::Copy_dedicated_regs_to_pregs(), Copy_WN_For_Memory_OP(), copyout_temp_to_var(), Count_Loop_Size(), Coupled_Loops_Traverse(), Create_block_stmt(), ML_WHIRL_EMITTER::Create_entry(), OPT_STAB::Create_entry_chi_stmt(), ARA_LOOP_INFO::Create_New_IF_Clause(), Create_Single_Region(), Create_ST_For_Tree(), Create_TY_For_Tree(), Crosses_Regions(), cwh_addr_address_ST(), cwh_addr_array(), cwh_addr_find_section(), cwh_addr_iload(), cwh_addr_istore(), cwh_addr_lda(), cwh_addr_ldid(), cwh_addr_load_ST(), cwh_addr_load_WN(), cwh_addr_mk_ldid(), cwh_addr_mload(), cwh_addr_mstore(), cwh_addr_nonc_recast(), cwh_addr_nonc_util(), cwh_addr_stid(), cwh_addr_store_ST(), cwh_addr_store_WN(), cwh_addr_triplet(), cwh_block_add_to_enclosing_regions(), cwh_block_dump(), cwh_block_new_and_current(), cwh_block_set_region_pragmas(), cwh_ceiling_floor(), cwh_char_intrin(), cwh_do_tranformational(), cwh_dope_from_expression(), cwh_dope_read_bound(), cwh_dope_store_bound(), cwh_expr_address(), cwh_expr_binop(), cwh_expr_binop_shift(), cwh_expr_compare(), cwh_expr_compare_bitwise(), cwh_expr_compare_char(), cwh_expr_compare_logical(), cwh_expr_dispose_of_char(), cwh_expr_operand(), cwh_expr_str_operand(), cwh_expr_temp(), cwh_expr_unop(), cwh_funny_fp_intrinsic(), cwh_intrin_build(), cwh_intrin_call(), cwh_intrin_get_return_value(), cwh_intrin_ieee_intrin_call_helper(), cwh_intrin_ieee_intrin_helper(), cwh_intrin_null_parm(), cwh_intrin_op(), cwh_intrin_popcnt_leadz_helper(), cwh_intrin_sync_intrin(), cwh_intrin_wrap_char_parm(), cwh_intrin_wrap_ref_parm(), cwh_io_analyse_io_statement(), cwh_io_char_ioitem(), cwh_io_conv_array_to_dope(), cwh_io_conv_arrsection_to_dope(), cwh_io_create_dopes(), cwh_io_cvt_tos_label_to_wn(), cwh_io_ioitem(), cwh_io_no_desc(), cwh_io_split_io_items(), cwh_io_split_io_statement(), cwh_io_str_ioitem(), cwh_mp_region(), cwh_preg_temp_save(), cwh_reorder(), cwh_stab_add_pragma(), cwh_stab_const(), cwh_stab_distrib_pragmas(), cwh_stk_get_num_inquire_items(), cwh_stk_is_byte_STR(), cwh_stk_pop_iostmt(), cwh_types_array_temp_TY(), cwh_types_bound_WN(), cwh_types_mk_basic_TY(), cwh_types_mk_namelist_item_TY(), cwh_types_mk_namelist_TY(), cwh_types_size_WN(), CYG_Instrument_Block(), DISTR_INFO::DART_Ldid(), DISTR_INFO::DART_Stid(), Dead_Store_Eliminate_Arrays(), Decrement_Loop_Depths(), ARA_LOOP_INFO::Default_For_Bad_Loop(), Delete_Distr_Pragmas(), WB_BROWSER::Deps_Loop(), ARA_LOOP_INFO::Determine_Peel(), CG_LOOP::Determine_SWP_Unroll_Factor(), CG_LOOP::Determine_Unroll_Factor(), DISTR_INFO::Dimsize_Ldid(), DISTR_INFO::Dimsize_Stid(), Discard_Possibly_Empty_Loops(), Dismantle_Do_Walk(), Dismantle_Nested_Doacross(), Dismantle_Nested_Region(), Distribute_Traverse(), Do_Loop_Explicit_Affinity(), Do_Loop_Implicit_Affinity(), Do_Loops(), do_simple(), Doacross_Init(), em_quad_abs(), em_quad_neg(), em_split_select(), RVI_EMIT::Emit_bb_annotations(), Enclosing_Loop_At_Depth(), Enter_Scalar_Expandable_Refs(), Estimate_Cycles(), Estimate_IF_Cost(), Exp_Node_Varies_In_Loop(), expand_flush(), expand_start_do_loop(), expand_start_for(), expand_start_parallel(), expand_start_parallel_for(), expand_start_sections(), expand_start_single(), expand_threadprivate(), Extract_Branch(), fei_abs(), fei_addr(), fei_alloc(), fei_arith_con(), fei_array_dimen(), fei_barrier(), fei_bneg(), fei_close(), fei_constant(), fei_copy_in(), fei_cot(), fei_count(), fei_criticalsection(), fei_cvtop(), fei_descriptor(), fei_dot_product(), fei_dot_product_logical(), fei_dv_deref(), fei_end_ioblock(), fei_endcriticalsection(), fei_exponent(), fei_exponentiate(), fei_fission(), fei_formatted_read(), fei_formatted_write(), fei_get_dv_hdr_fld(), fei_imag(), fei_implied_do(), fei_inquire(), fei_IO_list(), fei_iolength(), fei_iotype(), fei_len(), fei_length(), fei_lneg(), fei_logb(), fei_malloc(), fei_mask(), fei_matmul(), fei_mbits(), fei_multiply_high(), fei_namelist_read(), fei_namelist_write(), fei_near(), fei_new_binop_cshift(), fei_omp_set_lock(), fei_omp_test_lock(), fei_omp_unset_lock(), fei_open(), fei_pdo(), fei_present(), fei_push_arith_con(), fei_push_pattern_con(), fei_ranf(), fei_ranset(), fei_redistribute(), fei_round(), fei_rtc(), fei_scale(), fei_select(), fei_set_dv_hdr_fld(), fei_set_exponent(), fei_smt_parameter(), fei_start_ioblock(), fei_task_endloop(), fei_task_var(), fei_trunc(), fei_unformatted_read(), fei_unformatted_write(), fei_unit(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Finalize_Loops(), Find_Alloca(), DISTR_INFO::Find_Alloca(), Find_Av_Loop_Index(), Find_BB_TNs(), CFG::Find_enclosing_region_bb(), Find_Freq_Hint_Pragmas(), Find_Insertion_Point(), Find_Kernel_Stack(), Find_Kernel_Stack_Nest_Traverse(), Find_Lego_Base_Exp(), Find_Next_Innermost_Do_In_Block(), Find_Nodes(), OPT_REVISE_SSA::Find_scalars_from_lda_iloads(), OPT_REVISE_SSA::Find_scalars_from_lda_indirects(), OPT_REVISE_SSA::Find_scalars_from_lowering_bitfld(), OPT_REVISE_SSA::Find_scalars_from_lowering_bitfld_cr(), Find_Sibling_Containing(), Find_Split_Point(), Find_virtual_function(), SSA::Find_zero_versions(), Fission(), Fission_Test(), Fix_Accesses_And_Deps(), Fix_LDID_Of_Return_Preg(), fix_tree(), Fiz_Fuse(), Forward_Substitutable(), Forward_Substitute_For_Access_Arrays(), Forward_Substitute_Ldids(), Forward_Substitute_SNL_Bounds(), Freeze_Numthreads_Ldid(), FREQ_Incorporate_Feedback(), FS_Array_Substitute(), FS_Condition(), FS_Is_Inside_If(), FS_Substitute(), FS_Worthwhile(), Fuse(), Fuse_Level_By_Level(), Fusion_Du_Update(), Fusion_Loop_Stmt_Update(), Gen_Assign_Of_Init_Val(), Gen_Can_Fork(), Gen_Critical(), Gen_End_Critical(), Gen_End_Master(), Gen_End_Ordered(), Gen_End_Serialized_Parallel(), Gen_End_Single(), Gen_exp_wn(), Gen_Fini_RTL(), Gen_Flush(), Gen_Fork(), Gen_Get_Num_Threads(), Gen_Get_Thread_Num(), Gen_Impld_Io_Calls(), Gen_Implicit_Prefetches(), Gen_In_Parallel(), Gen_Init_RTL(), Gen_Io_Calls(), Gen_Io_GetFieldST(), Gen_Io_PutFieldConst(), Gen_Io_PutFieldST(), Gen_Iolist_PutFieldConst(), Gen_Lookup_DART(), Gen_Master(), Gen_Ordered(), Gen_Serialized_Parallel(), Gen_Set_Num_Threads(), Gen_Single(), ML_WHIRL_EMITTER::Gen_stmt(), Gen_Store_Gtid(), CODEREP::Gen_wn(), General_Kernel(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Hot_Cold_Jump(), Generate_If_Accesses(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Simple_Bounds(), Generate_Sink_Out_Code(), get_32bit_cilist_item(), RVI::Get_bb_local_attributes(), RVI::Get_bb_local_lda_attributes(), Get_Do_And_Above(), Get_Doacross_Tile_Size(), Get_Frozen_Numthreads_Ldid(), Get_IoStruct_ST(), Get_MP_modref(), OPT_REVISE_SSA::Get_new_occ(), Get_parent(), Get_Preamble_End(), Get_Runtime_Cur_Numthreads_Func(), Get_Statement(), Get_Vector_Type(), Hack_AltEntry_Formals(), SX_INFO::Handle_Other_Def(), Has_Calls(), Has_Code_At_Depth(), Has_Io(), Has_Lego_Mp_Loops(), Has_No_Concurrentize_Directive(), Has_Optimizable_Node_Traverse(), Has_Reuse(), LABEL_LIST::Has_Targeted_Label(), Has_Threadprivate_Variable(), Has_Variable_Bounds(), HMB_Has_Messy_Subscript(), HMB_Hoist_Easy_Messy_Bounds(), HMB_Hoist_Messy_Bounds(), HMB_Hoist_Messy_Subscripts(), HMB_Invariant_In_Loop(), HMB_Maximum_Point(), HMB_Simple_Guard_And_Hoist(), Hoist_Bounds_One_Level(), Hoist_Necessary_Code_Up(), Hoist_Out_Nested_Statements(), Hoist_Outer_Invar(), Hoist_Statement(), Hoist_Varying_Lower_Bounds_Traverse(), Hoistable_Place(), Hoistable_Statement(), IF_Branch(), If_MinMax_Traverse(), Immed_Inside_Par_Begin(), In_Same_SNL_Section(), Index_Variable_Is_Last_Local(), Index_Variable_Ldid(), Initial_Hoist_Place(), Innermore_Parallel_Loop(), Innermore_Parallel_Or_Lego_Loop(), Innermost_Doacross_Nest_Loop(), Insert_Region_Around_Block(), Insert_Sink_Code(), ANL_VARLIST::Insert_Var_Refs(), Inside_Lego_Tiled_Loop(), Inside_Region(), Interleaved_Pragma_Chunksize(), Intrinsic(), Inv_Dep_Info(), Invariant_Loops(), IPA_constant_in_array_bounds(), IPA_LNO_Evaluate_Call_Infos_Traverse(), IPA_LNO_Map_Calls_Clip_DU_Traverse(), IPA_LNO_Reassign_Unsummarized_Calls(), IPA_LNO_Reassign_Unsummarized_Calls_Traverse(), IPA_LNO_Unevaluate_Call_Infos_Traverse(), IPA_Rename_Builtins(), IPA_Start_Function(), IPL_Access_Vector_To_Projected_Region(), SUMMARIZE< program >::IPL_EX_Block(), IPO_Modify_WN_for_field_reorder(), IPO_Pad_Arrays(), IPO_Process_Icalls(), ir_all(), ir_b2a_process_PUs(), ir_b_write_tree(), ir_sel(), Is_Above(), Is_Aliased_With_Home(), Is_Grandparent_Region(), Is_In_Range(), Is_Inside_Store(), Is_Invariant(), Is_Loop_Guard(), Is_Orphaned_Pdo(), Is_Reduction_In_Prallel_Region(), GTABLE::Is_Truebr(), GOTO_TABLE::Is_Truebr(), Is_Versioned_Mp_Loop(), COND_BOUNDS_INFO::Kill_Written_Symbols(), LABEL_LIST::Label_Is_Targeted_Outside_Scope(), LABEL_LIST::Label_List_Goto_Traverse(), LABEL_LIST::Label_List_Label_Traverse(), Lego_Build_DU_For_Ldids(), Lego_Contains_Non_Index_Ldid(), Lego_Find_Node(), Lego_Find_Nodes(), Lego_Index_From_Access_Vector(), Lego_Loop_Want_Skew(), Lego_Mp_Tile_Traverse(), Lego_Parent_Array(), Lego_Peel_Traverse(), Lego_Simplify_Loop(), Lego_Skew_Loop(), Lego_Skew_Traverse(), Lego_Tile_Traverse(), Lisp_Loops_Traverse(), LNO_Map_Calls_Array_Traverse(), LNO_Map_Calls_Scalar_Traverse(), Load_SNL_And_Permutation(), Loop_Dominates_Uses(), Loop_Index_Count_Traverse(), Loop_Invariant_Access(), Loop_Statement(), LOOPINFO_Trip_Count(), Lower_Distr_Pragmas(), lower_random_number(), Lowered_Doacross_Loops(), Lowered_Parallel_Regions(), LWN_Copy_Tree_With_High_Defs(), Make_IoAddr_WN(), SD_INFO::Make_Sd_Info(), Map_Linear_Expr(), Mark_Critical_Section_Loops_Traverse(), Mark_Threadprivate_Loops_Traverse(), Max_Arg_Area_Bytes(), Max_Dep_Distance(), Maybe_Assigned(), Maybe_Assigned_Exp_Traverse(), Middle_Loop_Pwr2_Group_Hack(), Minimal_Kernel(), MIR_Go_Inside(), MIR_Hoistable_Ref(), MIR_Iterate_Outer_Loops(), MIR_Patch_Loop_Stmt(), MIR_Replace(), MIR_Test_Outer_Loops(), MIR_Update_Dependences(), Move_Alloca(), Move_Branches_To_Child(), GOTO_TABLE::Move_Goto_Out(), Mp_Collapse_Dependences(), Mp_Collapse_Loop_Heads(), Mp_Collapse_Loop_Statements(), Mp_Compress_Nested_Loop(), Mp_Convert_To_Single_Loop(), Mp_Delete_Outer_Mp_Lego_Info(), Mp_Disable_Opts_On_Internal_Regions(), Mp_Extract_Bogus_Do_Acrosses(), Mp_Extract_Nested_Pragmas(), Mp_Extract_Parallel_Directives(), MP_Fix_Dependence_Graph(), Mp_Fix_Ref_Array_Aliases(), MP_INFO::MP_INFO(), Mp_Insert_Bounds_Code(), Mp_Layout_Copy_In_Onto(), Mp_Layout_Lego_Layout(), Mp_Localize_Onto_and_Layout(), Mp_Lower_Number(), Mp_Nested_Last_Thread(), Mp_Optimize_Interleaved_Loop_Traverse(), Mp_Region_Under_Loop(), Mp_Remove_Nested_Region(), Mp_Remove_Onto_Pragmas(), Mp_Tile_Nested_Loop(), Mp_Tile_Traverse(), Mp_Trip_Count(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), Mp_Want_Freeze_Cur_Threads(), Mp_Want_Version_Loop(), Mp_Want_Version_Parallel_Region(), Nest_Total(), RVI_NODE::New_home_wn(), New_Lowest_Statement(), Node_Count(), DV_DEPS_CALLBACK::Node_Select(), Callback::Node_Select(), ARA_LOOP_INFO::Not_Enough_Parallel_Work(), Num_Inner_Loops(), DISTR_INFO::Numprocs_Ldid(), DISTR_INFO::Numprocs_Stid(), OP_Refs_Home(), OPT_FEEDBACK::OPT_FEEDBACK(), Outermore_Parallel_Construct(), Outermore_Parallel_Construct_Or_Lego_Loop(), Pad_Local_Arrays_In_Whirl(), PAR_STAT::PAR_STAT(), GTABLE::Patch_Do_While(), Patch_Uses_In_Loop(), FB_CFG::Patch_whirl_frequencies(), PDGCS_do_proc(), KEY_SCH::Peeling_For_Unknown_Trip(), Perfect_Depth(), Perform_Procedure_Summary_Phase(), REGION_STRIDE_PREFETCH::Phased_Multi_Stride_Ins(), LEGO_INFO::Pid0(), LEGO_INFO::Pid1(), SSA::Pointer_Alias_Analysis(), Post_loop_peeling(), Pragma_Set_No_Interchange(), Pre_loop_peeling(), prepare_reduction_clause(), MIR_REFLIST::Print(), SNL_ANAL_INFO::Print(), Print_BB_Pragmas(), Print_Goto_Lines(), Print_OP(), Print_OP_No_SrcLine(), Print_Prompf_Msgs_Traverse(), Print_Prompf_Nest_Log(), Print_Prompl_Msgs_Traverse(), BB_NODE::PrintVis(), Process_Alt_Entries_Formal(), Process_Alt_Entries_Local(), process_iostat(), SUMMARIZE< program >::Process_phi_operand(), Process_PU_Pragmas(), Processor_2D_Tile_Loop(), Processor_3D_Tile_Loop(), Processor_Update_Inner_Tile(), Processor_Update_Outer_Tile(), WB_BROWSER::Promp_Map(), Prompf_Assign_New_Ids_Traverse(), Prompf_Collect_Ids(), Prompf_Hoist_Messy_Bounds(), PROMPF_INFO::Prompf_Info_Traverse(), Prompf_Mp_Version(), Prompf_Nest_Depth(), Prompf_Nested_Tile(), Prompf_Record_Eliminations(), Prompf_Tile(), Prompf_Zero_Ids(), SD_INFO::Push_Memory_Nodes(), Recompute_Deps_For_Tree(), Red_Dep_Info(), ARA_LOOP_INFO::Reduction_List(), PAR_STAT::Reduction_List(), WB_BROWSER::Reduction_Walk(), Redundant_Pragma(), Region_Depth(), Register_Name_To_Statement(), Remove_Dead_Single_Defs(), Remove_Invar_Duplicates(), LABEL_LIST::Remove_Tree(), Remove_Unity_Trip_Loop(), Remove_Unity_Trip_Loop_Dep_Update(), Remove_Unity_Trip_Loop_Loop_Stmt_Update(), Remove_Unity_Trip_Loop_Update_If_Accesses(), Remove_Unity_Trip_Loop_Update_Is_Inner(), Remove_Useless_Loops(), SSA::Rename(), Repair_Bad_Dependences(), GOTO_TABLE::Replace_Goto_With_If(), GTABLE::Replace_Goto_With_If(), GTABLE::Replace_Goto_With_While(), GOTO_TABLE::Replace_Goto_With_While(), reset_do(), return_upper_bound(), RV_Index_Sign(), RV_Reverse_Indices(), RV_Simplify_Indicies(), RV_Traverse(), RV_Tree_Has_All_Backward_Indices(), RV_Tree_Has_All_Written_Indices(), Sandwiched_Code_Sinkable_In(), Sandwiched_Code_Sinkable_Out(), sanity_check_loop_body(), Scalar_Def_Covered_In_Loop(), Scalar_Defs(), Scalar_Expand(), Scalar_Expandable(), Scalar_Store_Hoist_Place(), Scalarize_Arrays(), Scl_Dep_Info(), SE_Assign_Lexcounts(), SE_Find_Def(), SE_Find_Stid(), SE_Fix_Dependence(), SE_New_Outer_Loop(), SE_Prune_Stack_Elements(), REDUCTION_MANAGER::Self_Dependent_Store(), Separate_And_Update(), Set_Addr_Taken_Attrib(), set_addr_taken_expr(), SUMMARIZE< program >::Set_IO(), Set_Winddown_Annotations_B(), shackling_depth(), simple_intrinsic(), simple_intrinsic_nt(), Simplify_Sink_Out_Code(), Sink_Sandwiched_Code_In(), Sinkable_Into_Loop(), size_wn(), SNL_All_Parallelizable(), SNL_ANAL_INFO::SNL_ANAL_INFO(), SNL_Bad_Array_Footprints(), SNL_Change_Reduction_Loop_Stmts(), SNL_Distribute(), SNL_Finalizable_Loops(), SNL_Finalize_Index_Variables(), SNL_Find_Traverse(), SNL_Fix_Blockable_Dependendences_Traverse(), SNL_GEN_Distribute(), SNL_Good_Perm_Loops(), SNL_Has_Sandwiched_Code(), SNL_Hoist_Messy_Bounds(), SNL_Inner_Exit_Count(), SNL_Inner_Machine_Cost(), SNL_INV_Distribute(), SNL_INV_Distribute_Block_Of_Loops(), SNL_INV_Get_Next_Outermost_Loop(), SNL_INV_Permute_Loops(), SNL_INV_Transforms(), SNL_Is_Distributable_Traverse(), SNL_Is_Distributable_Tree(), SNL_Is_Scalar_Expandable(), SNL_Legal_Tile_Arrays(), SNL_Legal_Tile_Scalars(), SNL_NEST_INFO::SNL_NEST_INFO(), SNL_Phase(), SNL_Regtile_Loop(), SNL_Remove_Useless_Loops(), SNL_SPL_Build_Loop_List(), SNL_SPL_Loop_Is_Inner_Tile(), SNL_SPL_Make_Inner_Tile_Stack(), SNL_SPL_Split_Tile_Sets(), Spill_Homeable_TN(), sPrint_OP(), Standardize_For_Tiling(), LS_IN_LOOP_ITER::Step(), REGION_STRIDE_PREFETCH::Strong_Single_Stride_Ins(), SX_INFO::SX_INFO(), AGGINIT::Traverse_Aggregate_Struct(), Traverse_Update(), Tree_Has_Regions(), True_Bound(), U64_LOWER_create_cvtl(), U64_LOWER_create_ne_0(), U64_LOWER_insert_cvtl_for_kid(), U64_LOWER_stmt_wn(), Unroll_Dowhile_Loop(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_multi_make_remainder_loop(), Unroll_Replicate_Body(), WN_TREE_ITER< PRE_ORDER, WHIRL >::Unwind(), Update_array_bounds(), Update_Def_List_Loop_Stmt(), Update_Nest_Depth_Traverse(), Update_wn_types(), Uses_Return_Preg(), Valid_SNL_Region(), CFG::Verify_cfg(), Verify_MP_Lowered::Verify_No_MP(), WB_BROWSER::Vertices(), ARA_LOOP_INFO::Walk_Loop(), Walk_Loop_Dependence(), WB_ancestors(), WB_DAV_draw_deps_loop(), WB_DAV_draw_deps_ref(), WB_defs_loop(), WB_Parent_Search(), WB_Prompf_Map(), WB_TXT_deps_loop(), WB_uses_loop(), WB_vertices(), WFE_Add_Case_Node(), WFE_Expand_Case(), WFE_Expand_Continue_Loop(), WFE_Expand_End_Case(), WFE_expand_end_for(), WFE_expand_end_parallel(), WFE_expand_start_for(), WFE_expand_start_parallel(), WFE_expand_start_section(), WFE_expand_start_sections(), WFE_Finish_Function(), WFE_Start_Function(), WFE_Stmt_Pop(), AGGINIT::WGEN_Add_Aggregate_Init_Address(), WGEN_Alloca_0(), WGEN_Alloca_ST(), WGEN_Dealloca(), WGEN_expand_barrier(), WGEN_Expand_Break(), WGEN_Expand_Case(), WGEN_Expand_Computed_Goto(), WGEN_Expand_Continue(), WGEN_expand_end_atomic(), WGEN_expand_end_critical(), WGEN_expand_end_for(), WGEN_expand_end_ordered(), WGEN_expand_end_parallel(), WGEN_expand_end_parallel_for(), WGEN_expand_end_parallel_sections(), WGEN_expand_end_section(), WGEN_expand_end_sections(), WGEN_expand_end_single(), WGEN_Expand_Goto(), WGEN_Expand_Label(), WGEN_expand_start_atomic(), WGEN_expand_start_critical(), WGEN_expand_start_for(), WGEN_expand_start_master(), WGEN_expand_start_ordered(), WGEN_expand_start_parallel(), WGEN_expand_start_parallel_for(), WGEN_expand_start_parallel_sections(), WGEN_expand_start_section(), WGEN_expand_start_sections(), WGEN_expand_start_single(), WGEN_Finish_Function(), WGEN_Generate_Thunk(), WGEN_process_omp_clause(), WGEN_Start_Function(), WGEN_Stmt_Pop(), Whack_Do_Loops_Traverse(), WN2F_Initiate_OneInt(), WN2F_Initiate_ZeroInt(), WN2F_Is_Address_Preg(), WN2F_pragma_list_nowait(), WN_Create(), WN_Create_Generic(), WN_CreateBlock(), WN_CreateDO(), WN_CreateDoWhile(), WN_CreateEntry(), WN_CreateIf(), WN_CreateRegion(), WN_CreateRegionExit(), WN_CreateWhileDo(), WN_get_tree(), Wn_Is_Above(), WN_is_in_pragma(), WN_Nary(), WN_NaryToExpr(), WN_Rename_Duplicate_Labels(), WN_SimpCreateCvtl(), WN_SimpCreateDeposit(), WN_SimpCreateExp1(), WN_SimpCreateExp2(), WN_SimpCreateExp3(), WN_SimpCreateExtract(), WN_Single_Iteration_Cost(), WN_Tree_Has_Duplicate_Labels(), DISTR_INFO::~DISTR_INFO(), and Verify_MP_Lowered::~Verify_MP_Lowered().
1.5.6