#include "opt_alias_interface.h"


Go to the source code of this file.
Defines | |
| #define | LOWER_NULL 0x000000000000ll |
| #define | LOWER_DO_LOOP 0x000000000001ll |
| #define | LOWER_DO_WHILE 0x000000000002ll |
| #define | LOWER_WHILE_DO 0x000000000004ll |
| #define | LOWER_IF 0x000000000008ll |
| #define | LOWER_COMPLEX 0x000000000010ll |
| #define | LOWER_ARRAY 0x000000000020ll |
| #define | LOWER_SPLIT_CONST_OFFSETS 0x000000000040ll |
| #define | LOWER_ENTRY_EXIT 0x000000000080ll |
| #define | LOWER_CALL 0x000000000100ll |
| #define | LOWER_SPLIT_SYM_ADDRS 0x000000000200ll |
| #define | LOWER_IO_STATEMENT 0x000000000400ll |
| #define | LOWER_MSTORE 0x000000000800ll |
| #define | LOWER_CVT 0x000000001000ll |
| #define | LOWER_MP 0x000000002000ll |
| #define | LOWER_8X_ARRAY 0x000000004000ll |
| #define | LOWER_REGION 0x000000008000ll |
| #define | LOWER_QUAD 0x000000010000ll |
| #define | LOWER_COMPGOTO 0x000000020000ll |
| #define | LOWER_MADD 0x000000040000ll |
| #define | LOWER_INTRINSIC 0x000000080000ll |
| #define | LOWER_INLINE_INTRINSIC 0x000000100000ll |
| #define | LOWER_TOP_LEVEL_ONLY 0x000000200000ll |
| #define | LOWER_REGION_EXITS 0x000000400000ll |
| #define | LOWER_INL_STACK_INTRINSIC 0x000000800000ll |
| #define | LOWER_PREFETCH_MAPS 0x000001000000ll |
| #define | LOWER_ALIAS_MAPS 0x000002000000ll |
| #define | LOWER_DEPGRAPH_MAPS 0x000004000000ll |
| #define | LOWER_PARITY_MAPS 0x000008000000ll |
| #define | LOWER_PICCALL 0x000010000000ll |
| #define | LOWER_BASE_INDEX 0x000020000000ll |
| #define | LOWER_ASSERT 0x000040000000ll |
| #define | LOWER_FREQUENCY_MAPS 0x000080000000ll |
| #define | LOWER_FORMAL_REF 0x000100000000ll |
| #define | LOWER_UPLEVEL 0x000200000000ll |
| #define | LOWER_ENTRY_FORMAL_REF 0x000400000000ll |
| #define | LOWER_SHORTCIRCUIT 0x000800000000ll |
| #define | LOWER_TREEHEIGHT 0x001000000000ll |
| #define | LOWER_RETURN_VAL 0x002000000000ll |
| #define | LOWER_MLDID_MSTID 0x004000000000ll |
| #define | LOWER_BIT_FIELD_ID 0x008000000000ll |
| #define | LOWER_BITS_OP 0x010000000000ll |
| #define | LOWER_TO_MEMLIB 0x040000000000ll |
| #define | LOWER_FAST_EXP 0x080000000000ll |
| #define | LOWER_EARLY_MLOAD 0x100000000000ll |
| #define | LOWER_TO_CG 0x800000000000ll |
| #define | LOWER_SCF (LOWER_DO_LOOP | LOWER_DO_WHILE | LOWER_WHILE_DO | LOWER_IF) |
| #define | LOWER_ALL_MAPS (LOWER_PREFETCH_MAPS | LOWER_ALIAS_MAPS | LOWER_DEPGRAPH_MAPS | LOWER_PARITY_MAPS | LOWER_FREQUENCY_MAPS) |
Typedefs | |
| typedef INT64 | LOWER_ACTIONS |
Enumerations | |
| enum | PARITY { PARITY_UNKNOWN = ~0x0, PARITY_COMPLEX_REAL = 0x01, PARITY_COMPLEX_IMAG = 0x02, PARITY_QUAD_HI = 0x04, PARITY_QUAD_LO = 0x08 } |
Functions/Subroutines | |
| PARITY | WN_parity (WN *tree) |
| BOOL | WN_parity_independent (WN *wn1, WN *wn2) |
| void | Lower_Init (void) |
| void | Lowering_Finalize (void) |
| FLD_HANDLE | FLD_And_Offset_From_Field_Id (TY_IDX struct_ty_idx, UINT field_id, UINT &cur_field_id, UINT64 &offset) |
| WN * | WN_Lower (WN *tree, LOWER_ACTIONS actions, struct ALIAS_MANAGER *alias, const char *msg) |
| WN * | lower_scf_non_recursive (WN *block, WN *tree, LOWER_ACTIONS actions) |
| WN * | lower_block (WN *tree, LOWER_ACTIONS actions) |
| const char * | LOWER_ACTIONS_name (LOWER_ACTIONS action) |
| UINT32 | compute_offset_alignment (INT32 offset, UINT32 align) |
| TY * | compute_alignment_type (WN *tree, TY *type, INT64 offset) |
| void | WN_Lower_Checkdump (const char *msg, WN *tree, LOWER_ACTIONS actions) |
| void | U64_lower_wn (WN *, BOOL) |
| #define LOWER_8X_ARRAY 0x000000004000ll |
| #define LOWER_ALIAS_MAPS 0x000002000000ll |
Definition at line 82 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_copy_maps(), and lower_map().
| #define LOWER_ALL_MAPS (LOWER_PREFETCH_MAPS | LOWER_ALIAS_MAPS | LOWER_DEPGRAPH_MAPS | LOWER_PARITY_MAPS | LOWER_FREQUENCY_MAPS) |
Definition at line 128 of file wn_lower.h.
Referenced by lower_bit_field_id(), RVI::Perform_RVI(), and Pre_Optimizer().
| #define LOWER_ARRAY 0x000000000020ll |
Definition at line 62 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_linearize_array_addr(), and Pre_Optimizer().
| #define LOWER_ASSERT 0x000040000000ll |
| #define LOWER_BASE_INDEX 0x000020000000ll |
Definition at line 86 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_complex_expr(), and Pre_Optimizer().
| #define LOWER_BIT_FIELD_ID 0x008000000000ll |
| #define LOWER_BITS_OP 0x010000000000ll |
| #define LOWER_CALL 0x000000000100ll |
| #define LOWER_COMPGOTO 0x000000020000ll |
| #define LOWER_COMPLEX 0x000000000010ll |
Definition at line 61 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_complex_expr(), and Pre_Optimizer().
| #define LOWER_CVT 0x000000001000ll |
| #define LOWER_DEPGRAPH_MAPS 0x000004000000ll |
Definition at line 83 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_complex_maps(), lower_maps_reset(), and lower_quad_maps().
| #define LOWER_DO_LOOP 0x000000000001ll |
| #define LOWER_DO_WHILE 0x000000000002ll |
| #define LOWER_EARLY_MLOAD 0x100000000000ll |
| #define LOWER_ENTRY_EXIT 0x000000000080ll |
| #define LOWER_ENTRY_FORMAL_REF 0x000400000000ll |
| #define LOWER_FAST_EXP 0x080000000000ll |
Definition at line 102 of file wn_lower.h.
Referenced by lower_bit_field_id(), and VHO_Lower_Driver().
| #define LOWER_FORMAL_REF 0x000100000000ll |
| #define LOWER_FREQUENCY_MAPS 0x000080000000ll |
Definition at line 88 of file wn_lower.h.
Referenced by GOTO_TABLE::Dismantle(), and lower_bit_field_id().
| #define LOWER_IF 0x000000000008ll |
| #define LOWER_INL_STACK_INTRINSIC 0x000000800000ll |
| #define LOWER_INLINE_INTRINSIC 0x000000100000ll |
Definition at line 77 of file wn_lower.h.
Referenced by lower_bit_field_id(), Pre_Optimizer(), and VHO_Lower_Driver().
| #define LOWER_INTRINSIC 0x000000080000ll |
Definition at line 76 of file wn_lower.h.
Referenced by lower_bit_field_id(), and W2C_Outfile_Translate_Pu().
| #define LOWER_IO_STATEMENT 0x000000000400ll |
Definition at line 67 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_io_statement(), Pre_Optimizer(), and W2C_Outfile_Translate_Pu().
| #define LOWER_MADD 0x000000040000ll |
| #define LOWER_MLDID_MSTID 0x004000000000ll |
Definition at line 95 of file wn_lower.h.
Referenced by Do_WOPT_and_CG_with_Regions(), lower_bit_field_id(), and RVI::Perform_RVI().
| #define LOWER_MP 0x000000002000ll |
Definition at line 70 of file wn_lower.h.
Referenced by Backend_Processing(), lower_bit_field_id(), lower_mp(), W2C_Outfile_Translate_Pu(), and W2F_Outfile_Translate_Pu().
| #define LOWER_MSTORE 0x000000000800ll |
| #define LOWER_NULL 0x000000000000ll |
Definition at line 56 of file wn_lower.h.
Referenced by lower_bit_field_id(), Pre_Optimizer(), W2C_Outfile_Translate_Pu(), and W2F_Outfile_Translate_Pu().
| #define LOWER_PARITY_MAPS 0x000008000000ll |
Definition at line 84 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_complex_maps(), and lower_quad_maps().
| #define LOWER_PICCALL 0x000010000000ll |
Definition at line 85 of file wn_lower.h.
Referenced by lower_bit_field_id(), and RVI::Perform_RVI().
| #define LOWER_PREFETCH_MAPS 0x000001000000ll |
Definition at line 81 of file wn_lower.h.
Referenced by lower_bit_field_id(), and lower_copy_maps().
| #define LOWER_QUAD 0x000000010000ll |
Definition at line 73 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_quad_expr(), and lower_recip().
| #define LOWER_REGION 0x000000008000ll |
| #define LOWER_REGION_EXITS 0x000000400000ll |
| #define LOWER_RETURN_VAL 0x002000000000ll |
Definition at line 94 of file wn_lower.h.
Referenced by Backend_Processing(), and lower_bit_field_id().
| #define LOWER_SCF (LOWER_DO_LOOP | LOWER_DO_WHILE | LOWER_WHILE_DO | LOWER_IF) |
Definition at line 126 of file wn_lower.h.
Referenced by GOTO_TABLE::Dismantle(), Do_WOPT_and_CG_with_Regions(), and lower_bit_field_id().
| #define LOWER_SHORTCIRCUIT 0x000800000000ll |
| #define LOWER_SPLIT_CONST_OFFSETS 0x000000000040ll |
Definition at line 63 of file wn_lower.h.
Referenced by lower_base_reference(), lower_bit_field_id(), and RVI::Perform_RVI().
| #define LOWER_SPLIT_SYM_ADDRS 0x000000000200ll |
Definition at line 66 of file wn_lower.h.
Referenced by lower_bit_field_id(), and RVI::Perform_RVI().
| #define LOWER_TO_CG 0x800000000000ll |
Definition at line 104 of file wn_lower.h.
Referenced by Do_WOPT_and_CG_with_Regions(), and lower_bit_field_id().
| #define LOWER_TO_MEMLIB 0x040000000000ll |
| #define LOWER_TOP_LEVEL_ONLY 0x000000200000ll |
| #define LOWER_TREEHEIGHT 0x001000000000ll |
Definition at line 93 of file wn_lower.h.
Referenced by lower_bit_field_id(), lower_tree_height(), and VHO_Lower_Driver().
| #define LOWER_UPLEVEL 0x000200000000ll |
| #define LOWER_WHILE_DO 0x000000000004ll |
| typedef INT64 LOWER_ACTIONS |
Definition at line 54 of file wn_lower.h.
| enum PARITY |
Definition at line 138 of file wn_lower.h.
Definition at line 1174 of file wn_lower.cxx.
References compute_alignment(), compute_offset_alignment(), INT32, lower_offset(), Set_TY_align, and TY_align.
Definition at line 537 of file wn_lower.cxx.
References ABS, INT32, n, and UINT32.
Referenced by compute_alignment(), compute_alignment_type(), Create_Maligned_TY(), and lower_bit_field_id().
| FLD_HANDLE FLD_And_Offset_From_Field_Id | ( | TY_IDX | struct_ty_idx, | |
| UINT | field_id, | |||
| UINT & | cur_field_id, | |||
| UINT64 & | offset | |||
| ) |
Definition at line 4713 of file wn_lower.cxx.
References FLD_And_Offset_From_Field_Id(), FLD_last_field(), FLD_ofst, FLD_type, KIND_STRUCT, Make_fld_iter(), TY_fld, TY_kind, and UINT64.
Referenced by CODEREP::Convert_type(), OPT_STAB::Enter_symbol(), FLD_And_Offset_From_Field_Id(), CODEMAP::Hash_Ivar(), lower_bit_field_id(), and CODEREP::Var_type_conversion().
| const char* LOWER_ACTIONS_name | ( | LOWER_ACTIONS | action | ) |
Referenced by lower_bit_field_id(), and RID_lower_Fprint().
| WN* lower_block | ( | WN * | tree, | |
| LOWER_ACTIONS | actions | |||
| ) |
Referenced by lower_bit_field_id(), lower_io_statement(), and vho_lower_do_loop().
| WN* lower_scf_non_recursive | ( | WN * | block, | |
| WN * | tree, | |||
| LOWER_ACTIONS | actions | |||
| ) |
Referenced by GOTO_TABLE::Dismantle(), and lower_bit_field_id().
Referenced by lower_bit_field_id(), and Postprocess_PU().
Definition at line 381 of file u64_lower_wn.cxx.
References FALSE, Is_True, OPERATOR_is_scf(), OPERATOR_is_stmt(), OPR_FUNC_ENTRY, OPR_REGION, Set_Error_Phase(), Start_Timer(), Stop_Timer(), T_Lower_CU, U64_LOWER_stmt_wn(), WN_func_body, WN_Lower_Checkdump(), WN_operator(), WN_region_body, and WN_verifier().
Referenced by Do_WOPT_and_CG_with_Regions(), and Pre_Optimizer().
| WN* WN_Lower | ( | WN * | tree, | |
| LOWER_ACTIONS | actions, | |||
| struct ALIAS_MANAGER * | alias, | |||
| const char * | msg | |||
| ) |
| void WN_Lower_Checkdump | ( | const char * | msg, | |
| WN * | tree, | |||
| LOWER_ACTIONS | actions | |||
| ) |
Referenced by lower_bit_field_id(), U64_lower_wn(), WN_retype_expr(), and WN_unroll().
Definition at line 1489 of file wn_lower.cxx.
References INT32, Is_True, lowering_parity_map, map, OPERATOR_UNKNOWN, PARITY_UNKNOWN, WN_MAP32_Get, WN_map_id(), WN_MAP_UNDEFINED, and WN_operator().
Referenced by WN_parity_independent().
Definition at line 1511 of file wn_lower.cxx.
References FALSE, NULL, p1, p2, TRUE, WN_map_id(), and WN_parity().
1.5.6