#include "stab.h"#include "wn.h"#include "targ_sim.h"

Go to the source code of this file.
| enum STACK_DIR |
| enum STACK_MODEL |
Definition at line 81 of file data_layout.h.
Definition at line 3354 of file data_layout.cxx.
References Allocate_Object(), CLASS_CONST, CLASS_VAR, DevWarn, Emit_Global_Data, For_all(), FOREACH_SYMBOL, Get_Trace(), GLOBAL_SYMTAB, Has_Base_Block, INT, SCLASS_COMMON, SCLASS_REG, Set_ST_base, St_Attr_Table, ST_ATTR_Table_Size(), ST_class, ST_export, ST_index, ST_is_fill_align, ST_is_reshaped, ST_name, ST_name_idx(), ST_sclass, ST_type, TP_DATALAYOUT, Trace_Frame, and TY_size.
Referenced by Phase_Init().
Definition at line 3111 of file data_layout.cxx.
References _SEC_BSS, _SEC_CPLINIT, _SEC_DATA, _SEC_DISTR_ARRAY, _SEC_EH_REGION, _SEC_EH_REGION_SUPP, _SEC_LBSS, _SEC_LDATA, _SEC_RDATA, _SEC_TEXT, _SEC_THREAD_PRIVATE_FUNCS, Adjusted_Alignment(), Allocate_Object_To_Predefined_Named_Section(), Allocate_Object_To_Section(), Assign_Object_To_Section(), Assign_ST_To_Named_Section(), Base_Symbol(), CLASS_CONST, Clear_ST_is_not_used, DevWarn, FALSE, File_info, FILE_INFO_ipa(), Find_Section_Name_For_ST(), Gen_PIC_Shared, Has_Base_Block, Is_Allocated(), Is_True, Make_Align_Type(), NULL, Process_Stack_Variable(), SCLASS_AUTO, SCLASS_COMMON, SCLASS_CPLINIT, SCLASS_DGLOBAL, SCLASS_DISTR_ARRAY, SCLASS_EH_REGION, SCLASS_EH_REGION_SUPP, SCLASS_EXTERN, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_FSTATIC, SCLASS_PSTATIC, SCLASS_REG, SCLASS_TEXT, SCLASS_THREAD_PRIVATE_FUNCS, SCLASS_UGLOBAL, SCLASS_UNKNOWN, sec, Set_ST_gprel, Set_ST_type, SF_Block, SFSEG_FORMAL, Shorten_Section(), ST_has_named_section(), ST_has_Predefined_Named_Section(), ST_init_value_zero, ST_is_constant(), ST_is_initialized, ST_is_not_used, ST_is_thread_private, ST_is_weak_symbol, ST_NO_LINKAGE, ST_sclass, ST_sym_class(), and ST_type.
Referenced by Allocate_File_Statics(), CG_End_Final(), CG_Init_Func_Infos(), CGSPILL_Load_From_Memory(), CGTARG_TN_For_Asm_Operand(), Create_Global_Variable(), Create_MicroTask(), EETARG_Call_Mcount(), EETARG_Generate_PIC_Entry_Code(), Exp_Immediate(), Exp_Immediate_Int(), Exp_Intrinsic_Op(), Exp_Is_Large_Stack_Sym(), Exp_Ldst(), Exp_Select_And_Condition(), Expand_Abs(), Expand_Add(), Expand_Expr(), Expand_Fast_Sqrt(), Expand_Int_To_Long_Double(), Expand_Long_Double_To_Int(), Expand_Neg(), Expand_Recip(), Expand_Unsigned_Int_To_Float_m32(), Fill_Align_Symbol(), Finalize_Stack_Frame(), EDGE_PROFILE::Gen_Call_BB(), Gen_Const_Symbol_TN(), Gen_ST_For_BB(), OUTPUT_FUNC_START_PROFILER::Generate_Func_Start_Profiler_PU(), Generate_Temp_Apply_Arg(), Handle_Entry(), Handle_ILDBITS(), Handle_ILOAD(), Handle_ISTBITS(), Handle_ISTORE(), Handle_XGOTO(), Lego_File_Init(), Lego_PU_Init(), lower_bit_field_id(), lower_split_sym_addrs(), Make_MPRuntime_ST(), New_DART(), Offset_from_FP(), finalize_inito::operator()(), Preorder_Process_PUs(), Process_Global_Distribute(), put_location(), St_Block_Union(), ST_For_Range_Table(), and Write_Symbol().
Definition at line 2525 of file data_layout.cxx.
References Is_True, Process_Stack_Variable(), SCLASS_AUTO, Set_ST_is_temp_var, and ST_sclass.
Referenced by Allocate_Local_Spill_Sym(), Expand_Float_To_Float(), Expand_Float_To_Int_Tas(), Expand_Int_To_Float_Tas(), Expand_Int_To_Long_Double(), Expand_Int_To_Vect_Tas(), Expand_Long_Double_To_Int(), Expand_non_SSE2_Float_Floor(), Expand_Replicate(), Expand_Select(), Expand_SSE3_Long_Double_To_Int(), Gen_Spill_Symbol(), CIO_RWTRAN::Generate_Black_Holes(), Handle_INTRINSIC_CALL(), and Store_To_Temp_Stack().
Definition at line 2229 of file data_layout.cxx.
References Allocate_Local_Spill_Sym(), Bind_Stack_Frame(), Current_PU_Actual_Size, fprintf(), Get_Current_PU_ST, Init_Frame_For_PU(), INT32, MAX, Max_Arg_Area_Bytes(), Merge_Fixed_Stack_Frame(), MTYPE_byte_size, ROUNDUP, Spill_Int_Mtype, ST_asm_function_st(), TFile, and Trace_Frame.
Referenced by Do_WOPT_and_CG_with_Regions().
Definition at line 1290 of file data_layout.cxx.
References Calc_Actual_Area(), Current_PU_Actual_Size, FALSE, FmtAssert, INT32, Is_Target_32bit, OPR_CALL, OPR_ICALL, OPR_PICCALL, ST_pu_type, WN_operator(), WN_st(), and WN_ty().
Referenced by lower_bit_field_id().
Definition at line 2377 of file data_layout.cxx.
References Allocate_Object(), Assign_Offset(), CLASS_VAR, Clear_Vararg_Symbols(), Current_PU_Stack_Model, CURRENT_SYMTAB, DevWarn, Early_Terminate(), EC_LAY_stack_limit, ErrMsg(), FmtAssert, For_all(), FOREACH_SYMBOL, fprintf(), Frame_Has_Calls, Get_Current_PU, getrlimit(), Inito_Table, INT, INT64, Is_Target_64bit, MAX, Max_Small_Frame_Offset, MERGE_SEGMENT, mod, MTYPE_byte_size, Pointer_Mtype, PU_has_nested, PUSH_FRAME_POINTER_ON_STACK, RC_OVERFLOW_ERROR, ROUNDUP, SEG_SIZE, Set_Error_Phase(), Set_ST_base, Set_ST_ofst, SF_Block, SFSEG_FORMAL, SFSEG_UPFORMAL, SMODEL_DYNAMIC, SMODEL_LARGE, SMODEL_SMALL, ST_class, ST_has_nested_ref, ST_is_not_used, ST_ofst, stack_align, Stack_Offset_Adjustment, STB_size, TFile, Trace_Frame, Trace_Stack_Segments(), and TRUE.
Referenced by CG_Generate_Code().
Definition at line 927 of file data_layout.cxx.
References CURRENT_SYMTAB, For_all_until(), NULL, ST_ptr(), and St_Table.
Referenced by Compute_Force_TNs(), CYG_Initialize_for_PU(), Generate_Entry(), Generate_Exit(), and Initialize_Stack_Frame().
Definition at line 1738 of file data_layout.cxx.
References Assign_Object_To_Frame_Segment(), Clear_ST_gprel(), Copy_ST(), Formal_Save_Area_Size, Get_Current_PU, INT, MTYPE_byte_size, offset, PLOC_offset, Pointer_Mtype, PU_has_alloca, PUSH_FRAME_POINTER_ON_STACK, PUSH_RETURN_ADDRESS_ON_STACK, Save_Str2(), SCLASS_FORMAL, Set_ST_name, Set_ST_sclass, SFSEG_UPFORMAL, and ST_name.
Referenced by lower_bit_field_id().
Definition at line 446 of file data_layout.cxx.
References i, INT, max_formal_info_index, NULL, formal_info::preg, and sym.
Referenced by Formal_Sym(), REGION_BOUND::GRB_formal_ref(), lower_formal_ref(), and ST_has_formal_preg_num().
Definition at line 412 of file data_layout.cxx.
References formal_info::base, i, INT, max_formal_info_index, NULL, SCLASS_FORMAL_REF, and ST_sclass.
Referenced by Formal_Sym(), REGION_BOUND::GRB_formal_ref(), lower_bit_field_id(), lower_formal_ref(), RVI_NODE::New_home_wn(), and put_location().
Definition at line 1534 of file data_layout.cxx.
References First_Float_Preg_Param_Offset, First_Int_Preg_Param_Offset, Is_True, MAX_NUMBER_OF_INT_REGISTER_PARAMETERS, MAX_NUMBER_OF_REGISTER_PARAMETERS, PLOC_reg, and Preg_Offset_Is_Int.
Referenced by lower_bit_field_id().
Definition at line 2094 of file data_layout.cxx.
References Add_Object_To_Frame_Segment(), Allocate_All_Formals(), Calc_Formal_Area(), Calc_Local_Area(), Choose_Stack_Model(), CLASS_VAR, Create_Base_Reg(), Current_PU_Actual_Size, Current_PU_Stack_Model, DECREMENT, DEFAULT_TEMP_SPACE_BYTES, ErrMsg(), EXPORT_LOCAL, FALSE, Find_Special_Return_Address_Symbol(), FmtAssert, fprintf(), Frame_Has_Calls, frame_size, Get_Current_PU, Get_Trace(), INCREMENT, Init_Formal_Segments(), Init_PU_arg_area_size_array(), Init_Segment_Descriptors(), INT32, INT64, Max_Arg_Area_Bytes(), mp_io, MTYPE_byte_size, MTYPE_To_TY, New_ST(), NULL, OPC_FUNC_ENTRY, Pointer_Mtype, PU_has_return_address, PUSH_FRAME_POINTER_ON_STACK, PUSH_RETURN_ADDRESS_ON_STACK, ROUNDUP, Save_Str(), SCLASS_FORMAL, Set_Error_Phase(), Set_ST_base, Set_ST_ofst, SFSEG_UPFORMAL, Spill_Int_Mtype, ST_asm_function_st(), st_base, ST_class, ST_export, ST_Init(), ST_name, ST_sclass, stack_direction, Target_Byte_Sex, TFile, TP_DATALAYOUT, Trace_Frame, TRUE, WN_opcode(), and WN_st().
Referenced by Do_WOPT_and_CG_with_Regions().
Definition at line 255 of file data_layout.cxx.
References base, Base_Symbol_And_Offset(), CLASS_BLOCK, INT64, Is_root_base, SCLASS_FORMAL, ST_class, ST_sclass, and TRUE.
Referenced by Allocate_Object(), Formal_Sym(), lower_bit_field_id(), and ST_alignment().
| void Pad_Global_Arrays | ( | ) |
Definition at line 3520 of file data_layout.cxx.
References For_all(), GLOBAL_SYMTAB, and St_Table.
Referenced by Phase_Init().
Definition at line 1413 of file data_layout.cxx.
References INCREMENT, Initialize_Frame_Segment(), SCLASS_AUTO, Set_ST_ofst, Set_STB_size, SF_Block, and SFSEG_UPFORMAL.
Referenced by Allocate_All_Formals(), and lower_bit_field_id().
Definition at line 3536 of file data_layout.cxx.
References Frame_Has_Calls.
Referenced by CG_Generate_Code().
Definition at line 459 of file data_layout.cxx.
References FALSE, i, INT, Is_True, max_formal_info_index, and formal_info::preg.
Referenced by Formal_Sym().
Definition at line 427 of file data_layout.cxx.
References formal_info::base, i, INT, formal_info::level, max_formal_info_index, NULL, Realloc_ST_formal_info(), ST_level, and formal_info::sym.
Referenced by Formal_Sym().
Definition at line 168 of file data_layout.h.
References Get_ST_formal_preg_num(), SCLASS_FORMAL, and ST_sclass.
Referenced by RVI_NODE::New_home_wn(), and CODEREP::Rvi_home_wn().
Definition at line 284 of file data_layout.cxx.
References base, Base_Symbol(), FALSE, SCLASS_AUTO, SCLASS_FORMAL, ST_sclass, and TRUE.
Referenced by Constant_Operand0(), Exp_Is_Large_Stack_Sym(), Exp_Ldst(), Get_TN_Range(), iadd_special_case(), and Preg_Is_Rematerializable().
Definition at line 313 of file data_layout.cxx.
References CLASS_CONST, CLASS_VAR, FALSE, SCLASS_AUTO, SCLASS_DGLOBAL, SCLASS_FORMAL, SCLASS_FSTATIC, SCLASS_PSTATIC, ST_class, ST_sclass, and TRUE.
Referenced by lower_bit_field_id(), and ST_alignment().
Definition at line 538 of file data_layout.cxx.
References _DWORD_ALIGN, _QUAD_ALIGN, _WORD_ALIGN, Align_Double, Is_Target_64bit, and stack_align.
Referenced by Adjusted_Alignment(), em_alloca(), Expand_Load(), Expand_Store(), Handle_ALLOCA(), and Simd_Align_Analysis().
Definition at line 557 of file data_layout.cxx.
References stack_direction.
Referenced by em_alloca().
Definition at line 3527 of file data_layout.cxx.
References Frame_Has_Calls, and Stack_Offset_Adjustment.
Referenced by Handle_ALLOCA(), and Handle_DEALLOCA().
Definition at line 3420 of file data_layout.cxx.
References CLASS_BLOCK, CLASS_CONST, CLASS_VAR, Current_PU_Stack_Model, FALSE, Large_Object_Bytes, SCLASS_AUTO, SCLASS_FORMAL, SMODEL_DYNAMIC, SMODEL_LARGE, SMODEL_SMALL, ST_class, ST_gprel, ST_sclass, ST_size, and TRUE.
Referenced by RVI::Is_lda_candidate(), CODEREP::Is_rvi_lda_candidate(), and lower_split_sym_addrs().
Definition at line 120 of file data_layout.cxx.
Referenced by Calculate_Stack_Frame_Sizes(), Check_Actual_Stack_Size(), em_alloca(), Handle_ALLOCA(), and Initialize_Stack_Frame().
Definition at line 121 of file data_layout.cxx.
Referenced by Allocate_Local_Spill_Sym(), Allocate_Space(), Bind_Stack_Frame(), Build_Fde_For_Proc(), Can_Do_Tail_Calls_For_PU(), Cg_Dwarf_Process_PU(), CGEMIT_Gen_Asm_Frame(), Compute_Reg_State(), Create_Unwind_Descriptors(), Emit_Unwind_Directives_For_OP(), Finalize_Stack_Frame(), Init_Entry_Exit_Code(), Initialize_Stack_Frame(), Merge_Fixed_Stack_Frame(), Process_Stack_Variable(), REGISTER_Reset_FP(), and Uses_Small_Offset().
Definition at line 117 of file data_layout.cxx.
Referenced by addr_subtract(), Build_Fde_For_Proc(), EBO_Lea_Insertion(), Exp_Is_Large_Stack_Sym(), Exp_Ldst(), Exp_Savexmms_Intrinsic(), Expand_Float_To_Float(), Expand_Float_To_Int_Tas(), Expand_Int_To_Float_Tas(), Expand_Int_To_Long_Double(), Expand_Int_To_Vect_Tas(), Expand_Long_Double_To_Int(), Modify_Asm_String(), Offset_from_FP(), put_location(), r_apply_l_const(), r_assemble_binary(), and Setup_Text_Section_For_PU().
Definition at line 116 of file data_layout.cxx.
1.5.6