#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "toplev.h"#include "rtl.h"#include "tm_p.h"#include "hard-reg-set.h"#include "regs.h"#include "function.h"#include "flags.h"#include "insn-config.h"#include "insn-attr.h"#include "except.h"#include "recog.h"#include "cfglayout.h"#include "params.h"#include "sched-int.h"#include "target.h"#include "output.h"

Go to the source code of this file.
| static void add_block1 | ( | basic_block | bb, | |
| basic_block | after | |||
| ) | [static] |
Definition at line 702 of file sched-ebb.c.
References bitmap_set_bit(), dont_calc_deps, EXIT_BLOCK_PTR, and basic_block_def::index.
Definition at line 354 of file sched-ebb.c.
References add_forw_dep(), add_or_update_back_dep(), add_or_update_back_forw_dep(), basic_block_def::aux, BB_END, BEGIN_CONTROL, BLOCK_FOR_INSN, control_flow_insn_p(), current_sched_info, DEP_ANTI, DEP_CHANGED, DEP_CREATED, DO_SPECULATION, earliest_block_with_similiar_load(), flag_schedule_speculative_load, sched_info::flags, gcc_assert, haifa_classify_insn(), insn, INSN_P, IRISKY, last_block, LOG_LINKS, MAX_DEP_WEAK, NEXT_INSN, sched_info::next_tail, NULL, NULL_RTX, PFREE_CANDIDATE, prev, PRISKY_CANDIDATE, REG_DEP_ANTI, sched_insns_conditions_mutex_p(), set_dep_weak(), and TRAP_RISKY.
| static basic_block advance_target_bb | ( | basic_block | bb, | |
| rtx | insn | |||
| ) | [static] |
Definition at line 716 of file sched-ebb.c.
References BB_END, BB_HEAD, bb_note(), BLOCK_FOR_INSN, control_flow_insn_p(), gcc_assert, IS_SPECULATION_BRANCHY_CHECK_P, basic_block_def::next_bb, and NOTE_INSN_BASIC_BLOCK_P.
Definition at line 121 of file sched-ebb.c.
References add_block(), BARRIER_P, BB_END, BB_HEAD, BLOCK_FOR_INSN, control_flow_insn_p(), create_basic_block(), current_sched_info, EDGE_COMPLEX, EDGE_FALLTHRU, edge::flags, FOR_EACH_EDGE, gcc_assert, IS_SPECULATION_CHECK_P, LABEL_P, NEXT_INSN, sched_info::next_tail, NOTE_INSN_BASIC_BLOCK_P, NOTE_P, NULL_RTX, PREV_INSN, sched_n_insns, split_edge(), and x.
| static void compute_jump_reg_dependencies | ( | rtx | insn, | |
| regset | cond_set, | |||
| regset | used, | |||
| regset | set | |||
| ) | [static] |
Definition at line 234 of file sched-ebb.c.
References b, bitmap_and(), bitmap_ior_into(), BLOCK_FOR_INSN, edge::dest, EDGE_FALLTHRU, edge::flags, FOR_EACH_EDGE, and glat_start.
| static int contributes_to_priority | ( | rtx next | ATTRIBUTE_UNUSED, | |
| rtx insn | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 222 of file sched-ebb.c.
| static basic_block earliest_block_with_similiar_load | ( | basic_block | last_block, | |
| rtx | load_insn | |||
| ) | [static] |
Definition at line 301 of file sched-ebb.c.
References basic_block_def::aux, BLOCK_FOR_INSN, GET_MODE, haifa_classify_insn(), basic_block_def::index, INSN_DEPEND, LOG_LINKS, NULL, PFREE_CANDIDATE, and XEXP.
| static const char* ebb_print_insn | ( | rtx | , | |
| int | ||||
| ) | [static] |
| static void fix_recovery_cfg | ( | int bbi | ATTRIBUTE_UNUSED, | |
| int | jump_bbi, | |||
| int | jump_bb_nexti | |||
| ) | [static] |
Definition at line 755 of file sched-ebb.c.
References BASIC_BLOCK, gcc_assert, and basic_block_def::index.
| static void fix_recovery_cfg | ( | int | , | |
| int | , | |||
| int | ||||
| ) | [static] |
Definition at line 93 of file sched-ebb.c.
References current_sched_info, gcc_assert, insn, n, n_insns, NEXT_INSN, sched_info::next_tail, sched_info::prev_head, sched_n_insns, sched_verbose, and try_ready().
Definition at line 203 of file sched-ebb.c.
References BLOCK_FOR_INSN, basic_block_def::count, and basic_block_def::frequency.
| static basic_block schedule_ebb | ( | rtx | head, | |
| rtx | tail | |||
| ) | [static] |
Definition at line 437 of file sched-ebb.c.
References add_deps_for_risky_insns(), bitmap_bit_p(), BLOCK_FOR_INSN, compute_forward_dependences(), current_sched_info, delete_basic_block(), gcc_target::sched::dependencies_evaluation_hook, dont_calc_deps, EDGE_COUNT, finish_deps_global(), free_deps(), gcc_assert, sched_info::head, init_deps(), init_deps_global(), INSN_P, n_insns, basic_block_def::next_bb, NEXT_INSN, sched_info::next_tail, NO_DEBUG, no_real_insns_p(), basic_block_def::prev_bb, sched_info::prev_head, PREV_INSN, sched_info::queue_must_finish_empty, REG_NOTE_KIND, REG_NOTES, REG_SAVE_NOTE, remove_note(), restore_line_notes(), rm_line_notes(), rm_other_notes(), save_line_notes(), gcc_target::sched, sched_analyze(), sched_info::sched_max_insns_priority, sched_n_insns, schedule_block(), set_priorities(), sched_info::tail, targetm, unlink_bb_notes(), write_symbols, and XEXP.
Definition at line 541 of file sched-ebb.c.
References allocate_reg_life_data(), attach_life_info(), BB_END, BB_HEAD, bitmap_bit_p(), bitmap_clear(), bitmap_initialize(), bitmap_set_bit(), BLOCK_NUM, blocks, compute_bb_for_insn(), current_sched_info, DETACH_LIFE_INFO, dont_calc_deps, ebb_head, ebb_tail, EDGE_FALLTHRU, EXIT_BLOCK_PTR, flag_branch_probabilities, edge::flags, sched_info::flags, FOR_EACH_BB, FOR_EACH_EDGE, gcc_assert, get_insns(), glat_start, basic_block_def::index, LABEL_P, last_basic_block, n_basic_blocks, basic_block_def::next_bb, NEXT_INSN, NO_DEBUG, NOTE_P, NUM_FIXED_BLOCKS, PARAM_VALUE, PREV_INSN, probability_cutoff, REG_BR_PROB_BASE, reload_completed, reposition_prologue_and_epilogue_notes(), RESET_BIT, rm_redundant_line_notes(), sbitmap_alloc(), sbitmap_free, sbitmap_zero(), sched_finish(), sched_init(), schedule_ebb(), SET_BIT, tail, UPDATE_LIFE_GLOBAL, update_life_info(), UPDATE_LIFE_LOCAL, and write_symbols.
| static int schedule_more_p | ( | void | ) | [static] |
bitmap_head dont_calc_deps [static] |
Definition at line 53 of file sched-ebb.c.
Referenced by add_block1(), schedule_ebb(), and schedule_ebbs().
bitmap_head ebb_head [static] |
struct sched_info ebb_sched_info [static] |
Initial value:
{
init_ready_list,
NULL,
schedule_more_p,
NULL,
rank,
ebb_print_insn,
contributes_to_priority,
compute_jump_reg_dependencies,
NULL, NULL,
NULL, NULL,
0, 1, 0,
add_remove_insn,
begin_schedule_ready,
add_block1,
advance_target_bb,
fix_recovery_cfg,
SCHED_EBB | USE_GLAT | DETACH_LIFE_INFO
}
Definition at line 256 of file sched-ebb.c.
bitmap_head ebb_tail [static] |
basic_block last_bb [static] |
Definition at line 58 of file sched-ebb.c.
int n_insns [static] |
Definition at line 50 of file sched-ebb.c.
Referenced by add_remove_insn(), block_jumps_and_fallthru_p(), compute_clrmem_length(), compute_movmem_length(), compute_movstrsi_length(), cond_exec_process_if_block(), df_alloc(), find_if_block(), init_ready_list(), move_by_pieces_ninsns(), product_cheap_p(), schedule_ebb(), and schedule_more_p().
int sched_n_insns [static] |
Definition at line 47 of file sched-ebb.c.
1.5.6