#include "cgir.h"#include "glob.h"#include "tn_map.h"#include "cgtarget.h"#include "cg_vector.h"#include "gra_live.h"#include "freq.h"#include "ti_res.h"#include "register.h"#include "tracing.h"#include "config_asm.h"#include "note.h"#include "cgexp.h"#include "lra.h"#include "wn_util.h"#include "hb_hazards.h"#include "reg_live.h"#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <math.h>#include "cg_sched.h"

Go to the source code of this file.
Data Types | |
| type | OPR |
| module | MRT |
| type | MRT::Resource_Table_Entry |
Defines | |
| #define | ASSERT(c) FmtAssert( c, ("KEY_SCH error") ); |
| #define | Get_OPR(op) (&opr_array[OP_map_idx(op)]) |
| #define | OPR_release_time(o) ((o)->release_time) |
| #define | OPR_deadline(o) ((o)->deadline) |
| #define | OPR_issue_time(o) ((o)->issue_time) |
| #define | OPR_is_scheduled(o) ((o)->is_scheduled == true) |
| #define | Set_OPR_is_scheduled(o) ((o)->is_scheduled = true) |
| #define | OPR_num_preds(o) ((o)->num_preds) |
| #define | OPR_num_succs(o) ((o)->num_succs) |
| #define | OPR_sched_order(o) ((o)->sched_order) |
| #define | OPR_pred_order(o) ((o)->pred_order) |
| #define | OPR_mem_base(o) ((o)->mem_base) |
| #define | OPR_mem_index(o) ((o)->mem_index) |
| #define | OPR_mem_ofst(o) ((o)->mem_ofst) |
| #define | OPR_mem_sym(o) ((o)->mem_sym) |
| #define | OPR_uses(o) ((o)->uses) |
| #define | OPR_latency(o) ((o)->latency) |
Enumerations | |
| enum | ICU { NONE = 0, ALU, AGU, FADD, FMUL, FMISC } |
Functions/Subroutines | |
| static void | Print_Register_Set (const char *name, REGISTER_SET reg_set, ISA_REGISTER_CLASS cl) |
| void | CG_Sched (MEM_POOL *pool, BOOL trace) |
Variables | |
| static unsigned int | BBs_Processed = 0 |
| static ICU | TOP_2_Res [TOP_count] |
| static uint16_t | sched_order = 0 |
| static OPR * | opr_array = NULL |
| static const int | num_fu [] |
| static MRT | mrt |
Definition at line 83 of file cg_sched.cxx.
Referenced by add_unique_name(), build_call_graph(), build_link_order(), KEY_SCH::Build_OPR(), MRT::Compute_Issue_Time(), cref_fill_array(), init_map_userdata(), init_opb(), lang_enter_overlay(), lang_size_sections_1(), ldlang_add_file(), ldlang_open_output(), main(), make_name(), make_symtab64(), multiple_common(), open_counts_file(), output_cref(), output_one_cref(), output_section_callback(), pr_dyn_count(), MRT::Probe_Resources(), process_counts(), put_rec(), KEY_SCH::Reorder_BB(), MRT::Reserve_Resources(), KEY_SCH::Schedule_BB(), KEY_SCH::Select_Variable(), and KEY_SCH::Tighten_Release_Time().
Definition at line 85 of file cg_sched.cxx.
Referenced by KEY_SCH::Addr_Generation(), KEY_SCH::Build_OPR(), KEY_SCH::Build_Ready_Vector(), MRT::Compute_Issue_Time(), KEY_SCH::Reorder_BB(), MRT::Reserve_Resources(), KEY_SCH::Schedule_BB(), KEY_SCH::Select_Variable(), KEY_SCH::Tighten_Release_Time(), and KEY_SCH::Winner().
Definition at line 87 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), MRT::Compute_Issue_Time(), KEY_SCH::Schedule_BB(), KEY_SCH::Tighten_Release_Time(), and KEY_SCH::Winner().
Definition at line 89 of file cg_sched.cxx.
Definition at line 88 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), MRT::Compute_Issue_Time(), MRT::Reserve_Resources(), KEY_SCH::Schedule_BB(), KEY_SCH::Select_Variable(), and KEY_SCH::Winner().
Definition at line 100 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), and KEY_SCH::Winner().
Definition at line 95 of file cg_sched.cxx.
Referenced by KEY_SCH::Addr_Generation(), KEY_SCH::Build_OPR(), and KEY_SCH::Winner().
Definition at line 96 of file cg_sched.cxx.
Referenced by KEY_SCH::Addr_Generation(), KEY_SCH::Build_OPR(), and KEY_SCH::Winner().
Definition at line 97 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), and KEY_SCH::Winner().
Definition at line 98 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), and KEY_SCH::Winner().
Definition at line 91 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), KEY_SCH::Build_Ready_Vector(), and KEY_SCH::Schedule_BB().
Definition at line 94 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), KEY_SCH::Schedule_BB(), and KEY_SCH::Winner().
Definition at line 86 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), MRT::Compute_Issue_Time(), KEY_SCH::Schedule_BB(), KEY_SCH::Select_Variable(), and KEY_SCH::Tighten_Release_Time().
| #define OPR_sched_order | ( | o | ) | ((o)->sched_order) |
Definition at line 93 of file cg_sched.cxx.
Referenced by KEY_SCH::Addr_Generation(), KEY_SCH::Build_OPR(), and KEY_SCH::Schedule_BB().
Definition at line 99 of file cg_sched.cxx.
Referenced by KEY_SCH::Build_OPR(), and KEY_SCH::Winner().
| enum ICU |
Definition at line 957 of file cg_sched.cxx.
References BB_next, BB_rid, NULL, REG_LIVE_Analyze_Region(), REG_LIVE_Finish(), REGION_First_BB, RID_level, and RL_CGSCHED.
Referenced by IGLS_Schedule_Region().
| static void Print_Register_Set | ( | const char * | name, | |
| REGISTER_SET | reg_set, | |||
| ISA_REGISTER_CLASS | cl | |||
| ) | [static] |
Definition at line 189 of file cg_sched.cxx.
References FOR_ALL_REGISTER_SET_members, fprintf(), REGISTER_name, REGISTER_SET_EmptyP(), REGISTER_SET_Print(), and TFile.
Referenced by MRT::Init().
unsigned int BBs_Processed = 0 [static] |
Definition at line 54 of file cg_sched.cxx.
const int num_fu[] [static] |
Initial value:
{
0,
3,
3,
1,
1,
1,
}
Definition at line 102 of file cg_sched.cxx.
Referenced by MRT::Init_Table_Entry(), and MRT::Probe_Resources().
Definition at line 81 of file cg_sched.cxx.
uint16_t sched_order = 0 [static] |
Definition at line 58 of file cg_sched.cxx.
Referenced by KEY_SCH::Addr_Generation(), and KEY_SCH::Schedule_BB().
Definition at line 56 of file cg_sched.cxx.
Referenced by MRT::Compute_Issue_Time(), MRT::Get_Dispatch_Unit(), MRT::Init(), MRT::Probe_Resources(), and MRT::Reserve_Resources().
1.5.6