GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | target_bb_reorder |
Macros | |
#define | this_target_bb_reorder (&default_target_bb_reorder) |
Functions | |
int | get_uncond_jump_length (void) |
void | insert_section_boundary_note (void) |
Variables | |
struct target_bb_reorder | default_target_bb_reorder |
#define this_target_bb_reorder (&default_target_bb_reorder) |
|
extern |
Return the length of unconditional jump instruction.
References emit_jump_insn(), emit_label(), end_sequence(), gcc_assert, gen_label_rtx(), get_attr_min_length(), INT_MAX, trace::length, start_sequence(), and targetm.
Referenced by duplicate_computed_gotos(), reorder_basic_blocks_software_trace_cache(), and try_shrink_wrapping().
Determine which partition the first basic block in the function belongs to, then find the first basic block in the current function that belongs to a different section, and insert a NOTE_INSN_SWITCH_TEXT_SECTIONS note immediately before it in the instruction stream. When writing out the assembly code, encountering this note will make the compiler switch between the hot and cold text sections.
References BB_HEAD, BB_PARTITION, cfun, crtl, emit_note_before(), FOR_EACH_BB_FN, gcc_assert, and ggc_alloc().
|
extern |