#include "symtab.h"#include "wn.h"#include "tn.h"


Go to the source code of this file.
Data Types | |
| type | save_reg |
Defines | |
| #define | SAVE_ded_tn(s) ((s)->ded_tn) |
| #define | SAVE_tn(s) ((s)->sv_tn) |
| #define | CALLEE_ded_tn(s) SAVE_ded_tn(Callee_Saved_Regs+s) |
| #define | CALLEE_tn(s) SAVE_tn(Callee_Saved_Regs+s) |
Typedefs | |
| typedef struct save_reg | SAVE_REG |
Functions/Subroutines | |
| void | Set_Frame_Len (INT64 val) |
| void | Init_Callee_Saved_Regs_for_REGION (ST *pu, BOOL is_region) |
| void | Init_Entry_Exit_Code (WN *pu_wn) |
| void | Generate_Entry_Exit_Code (ST *pu, BOOL is_region) |
| void | Adjust_Entry_Exit_Code (ST *pu) |
| void | Adjust_GP_Setup_Code (ST *pu, BOOL allocate_registers) |
| void | Adjust_LC_Setup_Code (void) |
| void | Optimize_Tail_Calls (ST *pu) |
Variables | |
| INT64 | Frame_Len |
| SAVE_REG * | Return_Address_Reg |
| SAVE_REG * | Callee_Saved_Regs |
| INT32 | Callee_Saved_Regs_Count |
| PREG_NUM * | Callee_Saved_Pregs |
| PREG_NUM | Caller_FP_Preg |
| PREG_NUM | Caller_GP_Preg |
| PREG_NUM | Return_Preg |
| PREG_NUM | GP_Preg |
| PREG_NUM | Return_Int_Preg [2] |
| PREG_NUM | Return_Float_Preg [2] |
| BOOL | Gen_Frame_Pointer |
| BOOL | LC_Used_In_PU |
| #define CALLEE_ded_tn | ( | s | ) | SAVE_ded_tn(Callee_Saved_Regs+s) |
Definition at line 112 of file calls.h.
Referenced by Generate_Entry(), Generate_Exit(), and Init_Callee_Saved_Regs_for_REGION().
| #define CALLEE_tn | ( | s | ) | SAVE_tn(Callee_Saved_Regs+s) |
Definition at line 113 of file calls.h.
Referenced by Compute_Force_TNs(), EETARG_Restore_Extra_Callee_Tns(), EETARG_Save_Extra_Callee_Tns(), Epilog_restore_code(), Generate_Entry(), Generate_Exit(), Init_Callee_Saved_Regs_for_REGION(), and Prolog_save_code().
| #define SAVE_tn | ( | s | ) | ((s)->sv_tn) |
Definition at line 104 of file calls.h.
Referenced by Compute_Force_TNs(), Generate_Entry(), Generate_Exit(), Init_Callee_Saved_Regs_for_REGION(), Localize_Any_Global_TNs(), and Rename_TNs_For_BB().
Definition at line 2608 of file calls.cxx.
References Adjust_Alloca_Code(), Adjust_Entry(), Adjust_Exit(), Entry_BB_Head, Exit_BB_Head, FmtAssert, Get_Current_PU, GP_Setup_Code, no_code, PU_has_alloca, and PU_References_GP.
Referenced by CG_Generate_Code().
Definition at line 2014 of file calls.cxx.
References Adjust_GP_Entry(), Adjust_GP_Exit(), Entry_BB_Head, Exit_BB_Head, final_code, FmtAssert, GP_Setup_Code, need_code, no_code, and PU_References_GP.
Referenced by CG_Generate_Code().
Definition at line 2093 of file calls.cxx.
References Adjust_LC_Entry(), Adjust_LC_Exit(), CG_localize_tns, Entry_BB_Head, Exit_BB_Head, LC_TN, LC_Used_In_PU, and NULL.
Referenced by CG_Generate_Code().
Definition at line 1914 of file calls.cxx.
References BOOL, CG_localize_tns, Entry_BB_Head, Exit_BB_Head, final_code, Generate_Entry(), Generate_Exit(), Generate_Unique_Exit(), GP_Setup_Code, Is_True, need_code, and NULL.
Referenced by CG_Generate_Code().
Definition at line 325 of file calls.cxx.
References Build_Dedicated_TN(), Build_RCLASS_TN(), Build_TN_Like(), CALLEE_ded_tn, Callee_Saved_Regs_Count, CALLEE_tn, CG_opt_level, cl(), DevAssert, Ebx_TN(), FOR_ALL_ISA_REGISTER_CLASS(), Gen_PIC_Shared, Gen_Register_TN(), i, INT, Is_Target_32bit, LC_TN, NULL, Pfs_TN, Pointer_Size, PREG_To_TN_Array, PREG_To_TN_Mtype, Pu_Alloc, RA_TN, REGISTER_CLASS_callee_saves, REGISTER_CLASS_multiple_save, REGISTER_MAX, REGISTER_name, REGISTER_Set_Allocatable(), REGISTER_SET_Choose(), REGISTER_SET_Choose_Next(), REGISTER_UNDEFINED, Return_Preg, SAVE_tn, Set_TN_save_creg, Setup_GP_TN_For_PU(), Spill_Int_Mtype, TN_class_reg, TN_MAP_Set(), TN_register, TN_register_class, TN_To_PREG_Map, and TRUE.
Referenced by CG_Generate_Code().
Definition at line 1866 of file calls.cxx.
References Call_Mcount, Current_PU_Stack_Model, Debug_Level, EETARG_Init_Entry_Exit_Code(), FALSE, Gen_Frame_Pointer, Gen_Unique_Literal_TN(), Get_Trace(), GP_Setup_Code, Init_Pregs(), LC_Used_In_PU, NULL, Opt_Level, SMODEL_SMALL, TP_CGEXP, Trace_EE, TRUE, and undefined_code.
Referenced by CG_PU_Initialize().
Definition at line 1231 of file calls.cxx.
References BB_call, BB_exit, BB_Insert_Op_Before(), BB_last_op, BB_next, BB_Remove_Op(), BB_Transfer_Exitinfo(), BOOL, Can_Be_Tail_Call(), Can_Do_Tail_Calls_For_PU(), CG_opt_level, CG_tail_call, DBar, EETARG_Build_Jump_Instead_Of_Call(), Exit_BB_Head, FALSE, fprintf(), Is_True, MEM_pu_pool, OP_call, Print_BB(), PU_Has_Calls, REGION_First_BB, Remove_BB(), Set_OP_tail_call, TFile, Trace_EE, TRUE, and Unlink_Pred_Succ().
Referenced by CG_Generate_Code().
Definition at line 1847 of file calls.cxx.
References BOOL, Frame_Len, Is_Stack_Used(), and Set_TN_value.
Referenced by CG_Generate_Code().
Definition at line 120 of file calls.cxx.
Referenced by Compute_Force_TNs(), EETARG_Restore_Extra_Callee_Tns(), EETARG_Save_Extra_Callee_Tns(), Epilog_restore_code(), Generate_Entry(), Generate_Exit(), Init_Callee_Saved_Regs_for_REGION(), and Prolog_save_code().
Definition at line 128 of file calls.cxx.
Referenced by Generate_Entry(), Generate_Exit(), and Init_Pregs().
Definition at line 129 of file calls.cxx.
Referenced by Expand_New_Call_To_OPs(), Generate_Entry(), Generate_Exit(), Handle_Call_Site(), and Init_Pregs().
Definition at line 173 of file calls.cxx.
Referenced by Adjust_Entry(), Adjust_Exit(), Generate_Entry(), Generate_Exit(), Handle_ASM(), Init_Entry_Exit_Code(), and LRANGE_Spill().
Definition at line 148 of file calls.cxx.
Referenced by Adjust_LC_Setup_Code(), CGTARG_Generate_Branch_Cloop(), CGTARG_Generate_Remainder_Branch(), Gen_SWP_Branch(), Init_Entry_Exit_Code(), and Undo_SWP_Branch().
Definition at line 137 of file calls.cxx.
Referenced by Compute_Force_TNs(), Localize_Any_Global_TNs(), and Rename_TNs_For_BB().
Definition at line 130 of file calls.cxx.
Referenced by Init_Callee_Saved_Regs_for_REGION(), and Init_Pregs().
1.5.6