GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | 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 |
struct target_bb_reorder * | this_target_bb_reorder |
int get_uncond_jump_length | ( | void | ) |
Return the length of unconditional jump instruction.
References delete_insn(), emit_jump_insn(), emit_label_before(), gen_label_rtx(), get_attr_min_length(), get_insns(), and trace::length.
Referenced by duplicate_computed_gotos(), reorder_basic_blocks(), and thread_prologue_and_epilogue_insns().
void insert_section_boundary_note | ( | void | ) |
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 emit_note_before().
Referenced by rest_of_pass_free_cfg().
struct target_bb_reorder default_target_bb_reorder |
struct target_bb_reorder* this_target_bb_reorder |