#include "config.h"#include "system.h"#include "tree.h"#include "rtl.h"#include "hard-reg-set.h"#include "basic-block.h"#include "output.h"#include "cfglayout.h"#include "fibheap.h"#include "flags.h"#include "params.h"#include "profile.h"

Go to the source code of this file.
Defines | |
| #define | seen(bb) (RBI (bb)->visited || RBI (bb)->next) |
Functions/Subroutines | |
| static int count_insns | PARAMS ((basic_block)) |
| static bool better_p | PARAMS ((edge, edge)) |
| static int find_trace | PARAMS ((basic_block, basic_block *)) |
| static void tail_duplicate | PARAMS ((void)) |
| static bool | ignore_bb_p (basic_block bb) |
| static int | count_insns (basic_block bb) |
| static bool | better_p (edge e1, edge e2) |
| static edge | find_best_successor (basic_block bb) |
| static edge | find_best_predecessor (basic_block bb) |
| static int | find_trace (basic_block bb, basic_block *trace) |
| static void | tail_duplicate () |
| static void | layout_superblocks () |
| void | tracer () |
Variables | |
| static int | probability_cutoff |
| static int | branch_ratio_cutoff |
Definition at line 66 of file tracer.c.
Referenced by check_node_dependence(), conservative(), copy_insn_p(), df_bb_rd_local_compute(), Do_Automatic_Transformation(), ffeexpr_declare_parenthesized_(), ffeexpr_declare_unadorned_(), final(), find_trace(), Has_Reuse(), is_associated_namespace(), loopify(), merge_moves(), qualified_lookup_using_namespace(), remove_path(), root_var_init(), single_reachable_address(), tail_duplicate(), and type_var_init().
Definition at line 97 of file tracer.c.
Referenced by find_best_predecessor(), and find_best_successor().
| static int count_insns | ( | basic_block | bb | ) | [static] |
Definition at line 83 of file tracer.c.
References active_insn_p(), insn, n, and NEXT_INSN.
Referenced by tail_duplicate().
| static edge find_best_predecessor | ( | basic_block | bb | ) | [static] |
Definition at line 135 of file tracer.c.
References better_p(), EDGE_FREQUENCY, ignore_bb_p(), NULL, edge::pred, edge::pred_next, REG_BR_PROB_BASE, and edge::src.
Referenced by find_trace().
| static edge find_best_successor | ( | basic_block | bb | ) | [static] |
Definition at line 116 of file tracer.c.
References better_p(), edge::dest, ignore_bb_p(), NULL, edge::succ, and edge::succ_next.
Referenced by find_trace().
| static int find_trace | ( | basic_block | bb, | |
| basic_block * | trace | |||
| ) | [static] |
Definition at line 156 of file tracer.c.
References edge::dest, EDGE_COMPLEX, EDGE_DFS_BACK, find_best_predecessor(), find_best_successor(), edge::flags, fprintf(), i, NULL, rtl_dump_file, seen, and edge::src.
Referenced by tail_duplicate().
| static bool ignore_bb_p | ( | basic_block | bb | ) | [static] |
Definition at line 70 of file tracer.c.
References maybe_hot_bb_p().
Referenced by find_best_predecessor(), find_best_successor(), and tail_duplicate().
Definition at line 324 of file tracer.c.
References edge::dest, EDGE_FREQUENCY, end, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, next, basic_block_def::next_bb, NULL, RBI, basic_block_def::succ, edge::succ_next, and visited.
Referenced by tracer().
Definition at line 77 of file cplus-dem.c.
| static int find_trace PARAMS | ( | (basic_block, basic_block *) | ) | [static] |
| static int count_insns PARAMS | ( | (basic_block) | ) | [static] |
Definition at line 200 of file tracer.c.
References abort, blocks, cfg_layout_can_duplicate_bb_p(), cfg_layout_duplicate_bb(), count_insns(), fibheap_delete(), fibheap_delete_node(), fibheap_empty(), fibheap_extract_min(), fibheap_insert(), fibheap_new(), find_trace(), flag_branch_probabilities, FOR_EACH_BB, fprintf(), free(), basic_block_def::frequency, ignore_bb_p(), basic_block_def::index, last_basic_block, n, n_basic_blocks, NULL, PARAM_VALUE, pos(), basic_block_def::pred, edge::pred_next, RBI, REG_BR_PROB_BASE, rtl_dump_file, seen, edge::src, xcalloc(), and xmalloc().
Referenced by tracer().
| void tracer | ( | ) |
Definition at line 363 of file tracer.c.
References cfg_layout_finalize(), cfg_layout_initialize(), cleanup_cfg(), CLEANUP_EXPENSIVE, dump_flow_info(), layout_superblocks(), mark_dfs_back_edges(), n_basic_blocks, rtl_dump_file, and tail_duplicate().
Referenced by rest_of_compilation(), rest_of_handle_reorder_blocks(), and rest_of_handle_tracer().
int branch_ratio_cutoff [static] |
Definition at line 61 of file tracer.c.
Referenced by find_best_predecessor(), and tail_duplicate().
int probability_cutoff [static] |
Definition at line 60 of file tracer.c.
Referenced by find_best_successor(), schedule_ebbs(), and tail_duplicate().
1.5.6