GCC Middle and Back End API Reference
|
#include <sched-int.h>
Data Fields | |
void(* | init_ready_list )(void) |
int(* | can_schedule_ready_p )(rtx) |
int(* | schedule_more_p )(void) |
ds_t(* | new_ready )(rtx, ds_t) |
int(* | rank )(rtx, rtx) |
const char *(* | print_insn )(const_rtx, int) |
int(* | contributes_to_priority )(rtx, rtx) |
bool(* | insn_finishes_block_p )(rtx) |
rtx | prev_head |
rtx | next_tail |
rtx | head |
rtx | tail |
unsigned int | queue_must_finish_empty:1 |
int | sched_max_insns_priority |
void(* | add_remove_insn )(rtx, int) |
void(* | begin_schedule_ready )(rtx insn) |
void(* | begin_move_insn )(rtx insn, rtx last) |
basic_block(* | advance_target_bb )(basic_block, rtx) |
void *(* | save_state )(void) |
void(* | restore_state )(void *) |
unsigned int | flags |
This structure holds some state of the current scheduling pass, and contains some function pointers that abstract out some of the non-generic functionality from functions such as schedule_block or schedule_insn. There is one global variable, current_sched_info, which points to the sched_info structure currently in use.
void(* haifa_sched_info::add_remove_insn)(rtx, int) |
Referenced by create_check_block_twin(), sched_emit_insn(), and sched_remove_insn().
basic_block(* haifa_sched_info::advance_target_bb)(basic_block, rtx) |
Referenced by commit_schedule().
Referenced by commit_schedule().
void(* haifa_sched_info::begin_schedule_ready)(rtx insn) |
Referenced by sched_emit_insn(), and schedule_block().
int(* haifa_sched_info::can_schedule_ready_p)(rtx) |
Referenced by schedule_block().
Referenced by contributes_to_priority_p().
unsigned int haifa_sched_info::flags |
Referenced by add_dependence(), add_deps_for_risky_insns(), ask_dependency_caches(), check_clobbered_conditions(), check_dep(), dep_spec_p(), deps_analyze_insn(), dump_dep(), extend_dependency_caches(), haifa_note_mem_dep(), init_dep(), queue_insn(), rank_for_schedule(), recompute_todo_spec(), sched_analyze_insn(), sched_speculate_insn(), schedule_block(), sd_add_dep(), sd_delete_dep(), set_dependency_caches(), update_dep(), and update_dependency_caches().
rtx haifa_sched_info::head |
void(* haifa_sched_info::init_ready_list)(void) |
Referenced by schedule_block().
bool(* haifa_sched_info::insn_finishes_block_p)(rtx) |
Referenced by insn_finishes_cycle_p().
Referenced by try_ready().
rtx haifa_sched_info::next_tail |
rtx haifa_sched_info::prev_head |
const char*(* haifa_sched_info::print_insn)(const_rtx, int) |
unsigned int haifa_sched_info::queue_must_finish_empty |
Referenced by schedule_block(), and schedule_region().
Referenced by rank_for_schedule().
void(* haifa_sched_info::restore_state)(void *) |
Referenced by free_topmost_backtrack_point(), and restore_last_backtrack_point().
void*(* haifa_sched_info::save_state)(void) |
Referenced by save_backtrack_point().
int haifa_sched_info::sched_max_insns_priority |
Referenced by compute_priorities(), get_rgn_sched_max_insns_priority(), schedule_ebb(), and set_priorities().
int(* haifa_sched_info::schedule_more_p)(void) |
Referenced by schedule_block().
rtx haifa_sched_info::tail |
Referenced by add_branch_dependences(), find_ebb_boundaries(), schedule_block(), schedule_ebb(), and sel_region_target_finish().