GCC Middle and Back End API Reference
rtl_data Struct Reference

#include <emit-rtl.h>

Collaboration diagram for rtl_data:

Public Member Functions

void init_stack_alignment ()

Data Fields

struct expr_status expr
struct emit_status emit
struct varasm_status varasm
struct incoming_args args
struct function_subsections subsections
struct rtl_eh eh
const predefined_function_abiabi
rtl_ssa::function_info * ssa
poly_int64 outgoing_args_size
rtx return_rtx
struct initial_value_structhard_reg_initial_vals
tree stack_protect_guard
tree stack_protect_guard_decl
rtx_insn_listx_nonlocal_goto_handler_labels
rtx_code_labelx_return_label
rtx_code_labelx_naked_return_label
vec< rtx, va_gc > * x_stack_slot_list
class frame_spaceframe_space_list
rtx_notex_stack_check_probe_note
rtx x_arg_pointer_save_area
rtx drap_reg
poly_int64 x_frame_offset
rtx_insnx_function_beg_insn
rtx_insnx_parm_birth_insn
vec< temp_slot_p, va_gc > * x_used_temp_slots
class temp_slotx_avail_temp_slots
int x_temp_slot_level
unsigned int stack_alignment_needed
unsigned int preferred_stack_boundary
unsigned int parm_stack_boundary
unsigned int max_used_stack_slot_alignment
unsigned int stack_alignment_estimated
unsigned short patch_area_size
unsigned short patch_area_entry
bool accesses_prior_frames
bool calls_eh_return
bool saves_all_registers
bool has_nonlocal_goto
bool has_asm_statement
bool all_throwers_are_sibcalls
bool limit_stack
bool profile
bool uses_const_pool
bool uses_pic_offset_table
bool uses_eh_lsda
bool tail_call_emit
bool arg_pointer_save_area_init
bool frame_pointer_needed
bool maybe_hot_insn_p
bool stack_realign_needed
bool stack_realign_tried
bool need_drap
bool stack_realign_processed
bool stack_realign_finalized
bool dbr_scheduled_p
bool nothrow
bool shrink_wrapped
bool shrink_wrapped_separate
bool sp_is_unchanging
bool sp_is_clobbered_by_asm
bool is_leaf
bool uses_only_leaf_regs
bool has_bb_partition
bool bb_reorder_complete
HARD_REG_SET asm_clobbers
HARD_REG_SET must_be_zero_on_return
int max_insn_address

Detailed Description

Datastructures maintained for currently processed function in RTL form.

Member Function Documentation

◆ init_stack_alignment()

void rtl_data::init_stack_alignment ( )
Initialize fields of rtl_data related to stack alignment.

References max_used_stack_slot_alignment, preferred_stack_boundary, stack_alignment_estimated, and stack_alignment_needed.

Field Documentation

◆ abi

const predefined_function_abi* rtl_data::abi

◆ accesses_prior_frames

bool rtl_data::accesses_prior_frames

◆ all_throwers_are_sibcalls

bool rtl_data::all_throwers_are_sibcalls

◆ arg_pointer_save_area_init

bool rtl_data::arg_pointer_save_area_init

◆ args

struct incoming_args rtl_data::args

◆ asm_clobbers

HARD_REG_SET rtl_data::asm_clobbers

◆ bb_reorder_complete

bool rtl_data::bb_reorder_complete

◆ calls_eh_return

bool rtl_data::calls_eh_return

◆ dbr_scheduled_p

bool rtl_data::dbr_scheduled_p

◆ drap_reg

rtx rtl_data::drap_reg

◆ eh

struct rtl_eh rtl_data::eh

◆ emit

struct emit_status rtl_data::emit

◆ expr

struct expr_status rtl_data::expr

◆ frame_pointer_needed

bool rtl_data::frame_pointer_needed

◆ frame_space_list

class frame_space* rtl_data::frame_space_list

◆ hard_reg_initial_vals

struct initial_value_struct* rtl_data::hard_reg_initial_vals

◆ has_asm_statement

bool rtl_data::has_asm_statement

◆ has_bb_partition

bool rtl_data::has_bb_partition

◆ has_nonlocal_goto

bool rtl_data::has_nonlocal_goto

◆ is_leaf

bool rtl_data::is_leaf

◆ limit_stack

bool rtl_data::limit_stack

◆ max_insn_address

int rtl_data::max_insn_address

◆ max_used_stack_slot_alignment

unsigned int rtl_data::max_used_stack_slot_alignment

Referenced by init_stack_alignment().

◆ maybe_hot_insn_p

bool rtl_data::maybe_hot_insn_p

◆ must_be_zero_on_return

HARD_REG_SET rtl_data::must_be_zero_on_return

◆ need_drap

bool rtl_data::need_drap

◆ nothrow

bool rtl_data::nothrow

◆ outgoing_args_size

poly_int64 rtl_data::outgoing_args_size

◆ parm_stack_boundary

unsigned int rtl_data::parm_stack_boundary

◆ patch_area_entry

unsigned short rtl_data::patch_area_entry

◆ patch_area_size

unsigned short rtl_data::patch_area_size

◆ preferred_stack_boundary

unsigned int rtl_data::preferred_stack_boundary

Referenced by init_stack_alignment().

◆ profile

bool rtl_data::profile

◆ return_rtx

rtx rtl_data::return_rtx

◆ saves_all_registers

bool rtl_data::saves_all_registers

◆ shrink_wrapped

bool rtl_data::shrink_wrapped

◆ shrink_wrapped_separate

bool rtl_data::shrink_wrapped_separate

◆ sp_is_clobbered_by_asm

bool rtl_data::sp_is_clobbered_by_asm

◆ sp_is_unchanging

bool rtl_data::sp_is_unchanging

◆ ssa

rtl_ssa::function_info* rtl_data::ssa

◆ stack_alignment_estimated

unsigned int rtl_data::stack_alignment_estimated

Referenced by init_stack_alignment().

◆ stack_alignment_needed

unsigned int rtl_data::stack_alignment_needed

Referenced by init_stack_alignment().

◆ stack_protect_guard

tree rtl_data::stack_protect_guard

◆ stack_protect_guard_decl

tree rtl_data::stack_protect_guard_decl

◆ stack_realign_finalized

bool rtl_data::stack_realign_finalized

◆ stack_realign_needed

bool rtl_data::stack_realign_needed

◆ stack_realign_processed

bool rtl_data::stack_realign_processed

◆ stack_realign_tried

bool rtl_data::stack_realign_tried

◆ subsections

struct function_subsections rtl_data::subsections

◆ tail_call_emit

bool rtl_data::tail_call_emit

◆ uses_const_pool

bool rtl_data::uses_const_pool

◆ uses_eh_lsda

bool rtl_data::uses_eh_lsda

◆ uses_only_leaf_regs

bool rtl_data::uses_only_leaf_regs

◆ uses_pic_offset_table

bool rtl_data::uses_pic_offset_table

◆ varasm

struct varasm_status rtl_data::varasm

◆ x_arg_pointer_save_area

rtx rtl_data::x_arg_pointer_save_area

◆ x_avail_temp_slots

class temp_slot* rtl_data::x_avail_temp_slots

◆ x_frame_offset

poly_int64 rtl_data::x_frame_offset

◆ x_function_beg_insn

rtx_insn* rtl_data::x_function_beg_insn

◆ x_naked_return_label

rtx_code_label* rtl_data::x_naked_return_label

◆ x_nonlocal_goto_handler_labels

rtx_insn_list* rtl_data::x_nonlocal_goto_handler_labels

◆ x_parm_birth_insn

rtx_insn* rtl_data::x_parm_birth_insn

◆ x_return_label

rtx_code_label* rtl_data::x_return_label

◆ x_stack_check_probe_note

rtx_note* rtl_data::x_stack_check_probe_note

◆ x_stack_slot_list

vec<rtx, va_gc>* rtl_data::x_stack_slot_list

◆ x_temp_slot_level

int rtl_data::x_temp_slot_level

◆ x_used_temp_slots

vec<temp_slot_p, va_gc>* rtl_data::x_used_temp_slots

The documentation for this struct was generated from the following files: