#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "tree.h"#include "rtl.h"#include "hard-reg-set.h"#include "regs.h"#include "flags.h"#include "output.h"#include "function.h"#include "except.h"#include "toplev.h"#include "tm_p.h"#include "alloc-pool.h"#include "timevar.h"#include "ggc.h"

Go to the source code of this file.
| void alloc_aux_for_block | ( | basic_block | bb, | |
| int | size | |||
| ) | [inline] |
Definition at line 676 of file cfg.c.
References basic_block_def::aux, block_aux_obstack, first_block_aux_obj, gcc_assert, memset, and obstack_alloc.
| void alloc_aux_for_blocks | ( | int | size | ) |
Definition at line 688 of file cfg.c.
References alloc_aux_for_block(), block_aux_obstack, first_block_aux_obj, FOR_BB_BETWEEN, gcc_assert, gcc_obstack_init, initialized, NULL, and obstack_alloc.
Definition at line 739 of file cfg.c.
References edge_aux_obstack, first_edge_aux_obj, gcc_assert, memset, and obstack_alloc.
| void alloc_aux_for_edges | ( | int | size | ) |
Definition at line 751 of file cfg.c.
References alloc_aux_for_edge(), edge_aux_obstack, first_edge_aux_obj, FOR_BB_BETWEEN, FOR_EACH_EDGE, gcc_assert, gcc_obstack_init, initialized, and obstack_alloc.
| basic_block alloc_block | ( | void | ) |
Definition at line 162 of file cfg.c.
References create_alloc_pool(), and n_basic_blocks.
Referenced by build_tree_cfg(), and cfg_layout_initialize().
| edge cached_make_edge | ( | sbitmap * | edge_cache, | |
| basic_block | src, | |||
| basic_block | dst, | |||
| int | flags | |||
| ) |
Definition at line 274 of file cfg.c.
References edge::dest, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, find_edge(), edge::flags, basic_block_def::index, make_edge(), NULL, SET_BIT, basic_block_def::succ, edge::succ_next, TEST_BIT, and unchecked_make_edge().
| void check_bb_profile | ( | basic_block | bb, | |
| FILE * | file | |||
| ) |
Definition at line 452 of file cfg.c.
References BB_PARTITION, basic_block_def::flags, FOR_BB_BETWEEN, and NULL.
Definition at line 127 of file cfg.c.
References FOR_EACH_BB, FOR_EACH_EDGE, free_edge(), gcc_assert, n_edges, and VEC_truncate.
Definition at line 210 of file cfg.c.
References BASIC_BLOCK, FOR_EACH_BB, gcc_assert, i, basic_block_def::index, last_basic_block, n_basic_blocks, and NULL.
| void debug_bb | ( | basic_block | bb | ) |
| basic_block debug_bb_n | ( | int | n | ) |
| static void dump_cfg_bb_info | ( | FILE * | file, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 826 of file cfg.c.
References dump_edge_info(), first, basic_block_def::flags, FOR_EACH_EDGE, fprintf(), i, and basic_block_def::index.
Referenced by brief_dump_cfg().
Definition at line 616 of file cfg.c.
References ARRAY_SIZE, comma, edge::dest, edge::flags, flags, fprintf(), fputc(), fputs(), HOST_WIDEST_INT_PRINT_DEC, i, basic_block_def::index, REG_BR_PROB_BASE, and edge::src.
Definition at line 510 of file cfg.c.
References abs, ALL_REGS, check_bb_profile(), basic_block_def::count, dump_edge_info(), dump_regset(), EDGE_FREQUENCY, basic_block_def::end, FIRST_PSEUDO_REGISTER, FOR_EACH_BB, FOR_EACH_EDGE, fprintf(), basic_block_def::frequency, GENERAL_REGS, basic_block_def::global_live_at_end, basic_block_def::global_live_at_start, basic_block_def::head, HOST_WIDEST_INT_PRINT_DEC, i, basic_block_def::index, INSN_UID, basic_block_def::loop_depth, max_reg_num(), max_regno, maybe_hot_bb_p(), n_basic_blocks, n_edges, basic_block_def::next_bb, NO_REGS, NULL, basic_block_def::pred, edge::pred_next, basic_block_def::prev_bb, probably_never_executed_bb_p(), PSEUDO_REGNO_BYTES, putc(), reg_alternate_class(), REG_BASIC_BLOCK, REG_BR_PROB_BASE, reg_class_names, REG_CLASS_NAMES, REG_LIVE_LENGTH, REG_N_CALLS_CROSSED, REG_N_DEATHS, reg_n_info, REG_N_REFS, REG_N_SETS, REG_POINTER, reg_preferred_class(), REG_USERVAR_P, regno_reg_rtx, reload_completed, basic_block_def::succ, edge::succ_next, and UNITS_PER_WORD.
| void expunge_block | ( | basic_block | b | ) |
Definition at line 234 of file cfg.c.
References BASIC_BLOCK, basic_block_def::index, n_basic_blocks, NULL, and unlink_block().
Definition at line 726 of file cfg.c.
References block_aux_obstack, clear_aux_for_blocks(), first_block_aux_obj, gcc_assert, NULL, and obstack_free.
Definition at line 800 of file cfg.c.
References clear_aux_for_edges(), edge_aux_obstack, first_edge_aux_obj, gcc_assert, NULL, and obstack_free.
Definition at line 172 of file cfg.c.
References free_alloc_pool().
Referenced by cfg_layout_finalize(), and delete_tree_cfg_annotations().
Definition at line 102 of file cfg.c.
References ENTRY_BLOCK, EXIT_BLOCK, ggc_alloc_cleared, basic_block_def::index, n_edges, basic_block_def::next_bb, and basic_block_def::prev_bb.
| void initialize_bb_rbi | ( | basic_block | bb | ) |
Definition at line 181 of file cfg.c.
References gcc_assert, memset, and pool_alloc().
Referenced by cfg_layout_create_basic_block(), cfg_layout_initialize(), create_bb(), fixup_fallthru_exit_predecessor(), and fixup_reorder_chain().
| void link_block | ( | basic_block | b, | |
| basic_block | after | |||
| ) |
Definition at line 190 of file cfg.c.
References basic_block_def::next_bb, and basic_block_def::prev_bb.
| edge make_edge | ( | basic_block | src, | |
| basic_block | dest, | |||
| int | flags | |||
| ) |
Definition at line 305 of file cfg.c.
References find_edge(), edge::flags, NULL, and unchecked_make_edge().
| edge make_single_succ_edge | ( | basic_block | src, | |
| basic_block | dest, | |||
| int | flags | |||
| ) |
Definition at line 323 of file cfg.c.
References basic_block_def::count, make_edge(), and REG_BR_PROB_BASE.
| void redirect_edge_pred | ( | edge | e, | |
| basic_block | new_pred | |||
| ) |
Definition at line 424 of file cfg.c.
References ei_next(), ei_safe_edge(), ei_start, gcc_assert, edge_iterator::index, edge::src, tmp, VEC_safe_push, and VEC_unordered_remove.
| void redirect_edge_succ | ( | edge | e, | |
| basic_block | new_succ | |||
| ) |
Definition at line 376 of file cfg.c.
References edge::dest, dest, EDGE_COUNT, EDGE_PRED, execute_on_growing_pred(), execute_on_shrinking_pred(), VEC_safe_push, and VEC_unordered_remove.
| edge redirect_edge_succ_nodup | ( | edge | e, | |
| basic_block | new_succ | |||
| ) |
Definition at line 400 of file cfg.c.
References find_edge(), edge::flags, redirect_edge_succ(), REG_BR_PROB_BASE, remove_edge(), s, and edge::src.
Definition at line 335 of file cfg.c.
References edge::dest, dest, EDGE_COUNT, EDGE_PRED, ei_next(), ei_safe_edge(), ei_start, execute_on_shrinking_pred(), free_edge(), gcc_assert, edge_iterator::index, src, edge::src, tmp, and VEC_unordered_remove.
| edge unchecked_make_edge | ( | basic_block | src, | |
| basic_block | dst, | |||
| int | flags | |||
| ) |
Definition at line 251 of file cfg.c.
References edge::dest, EDGE_COUNT, execute_on_growing_pred(), edge::flags, ggc_alloc_cleared, n_edges, edge::src, and VEC_safe_push.
| void unlink_block | ( | basic_block | b | ) |
Definition at line 200 of file cfg.c.
References basic_block_def::next_bb, NULL, and basic_block_def::prev_bb.
| void update_bb_profile_for_threading | ( | basic_block | bb, | |
| int | edge_frequency, | |||
| gcov_type | count, | |||
| edge | taken_edge | |||
| ) |
struct obstack block_aux_obstack [static] |
struct obstack edge_aux_obstack [static] |
void* first_block_aux_obj = 0 [static] |
void* first_edge_aux_obj = 0 [static] |
| int last_basic_block |
| int n_basic_blocks |
1.5.6