60 void init_stack_alignment ();
77 rtl_ssa::function_info *
GTY((skip))
ssa;
326#define return_label (crtl->x_return_label)
327#define naked_return_label (crtl->x_naked_return_label)
328#define stack_slot_list (crtl->x_stack_slot_list)
329#define function_beg_insn (crtl->x_function_beg_insn)
330#define parm_birth_insn (crtl->x_parm_birth_insn)
331#define frame_offset (crtl->x_frame_offset)
332#define stack_check_probe_note (crtl->x_stack_check_probe_note)
333#define arg_pointer_save_area (crtl->x_arg_pointer_save_area)
334#define used_temp_slots (crtl->x_used_temp_slots)
335#define avail_temp_slots (crtl->x_avail_temp_slots)
336#define temp_slot_level (crtl->x_temp_slot_level)
337#define nonlocal_goto_handler_labels (crtl->x_nonlocal_goto_handler_labels)
338#define frame_pointer_needed (crtl->frame_pointer_needed)
339#define stack_realign_fp (crtl->stack_realign_needed && !crtl->need_drap)
340#define stack_realign_drap (crtl->stack_realign_needed && crtl->need_drap)
410 return &
crtl->emit.seq;
468 return crtl->emit.x_cur_insn_uid;
488#define adjust_address(MEMREF, MODE, OFFSET) \
489 adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 0, 0)
492#define adjust_address_nv(MEMREF, MODE, OFFSET) \
493 adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 0, 0)
499#define adjust_bitfield_address(MEMREF, MODE, OFFSET) \
500 adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, 0)
504#define adjust_bitfield_address_size(MEMREF, MODE, OFFSET, SIZE) \
505 adjust_address_1 (MEMREF, MODE, OFFSET, 1, 1, 1, SIZE)
508#define adjust_bitfield_address_nv(MEMREF, MODE, OFFSET) \
509 adjust_address_1 (MEMREF, MODE, OFFSET, 0, 1, 1, 0)
514#define adjust_automodify_address(MEMREF, MODE, ADDR, OFFSET) \
515 adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 1)
518#define adjust_automodify_address_nv(MEMREF, MODE, ADDR, OFFSET) \
519 adjust_automodify_address_1 (MEMREF, MODE, ADDR, OFFSET, 0)
Definition genmatch.cc:1496
Definition function.h:188
Definition function-abi.h:35
Definition function.cc:564
unsigned char addr_space_t
Definition coretypes.h:184
const union tree_node * const_tree
Definition coretypes.h:98
#define GTY(x)
Definition coretypes.h:41
union tree_node * tree
Definition coretypes.h:97
int alias_set_type
Definition coretypes.h:349
rtx gen_reg_rtx(machine_mode mode)
Definition emit-rtl.cc:1172
rtx_insn * emit(rtx x, bool allow_barrier_p)
Definition emit-rtl.cc:5604
void set_mem_attributes_minus_bitpos(rtx, tree, int, poly_int64)
Definition emit-rtl.cc:1950
rtx adjust_automodify_address_1(rtx, machine_mode, rtx, poly_int64, int)
Definition emit-rtl.cc:2500
rtx gen_int_shift_amount(machine_mode, poly_int64)
Definition emit-rtl.cc:6767
rtx copy_insn_1(rtx)
Definition emit-rtl.cc:5801
int get_mem_align_offset(rtx, unsigned int)
Definition emit-rtl.cc:1863
rtx gen_vec_duplicate(machine_mode, rtx)
Definition emit-rtl.cc:6104
class temp_slot * temp_slot_p
Definition emit-rtl.h:24
int get_max_uid(void)
Definition emit-rtl.h:466
tree get_spill_slot_decl(bool)
Definition emit-rtl.cc:2801
void set_mem_expr(rtx, tree)
Definition emit-rtl.cc:2219
rtx gen_blockage(void)
Definition emit-rtl.cc:450
struct sequence_stack * get_current_sequence(void)
Definition emit-rtl.h:408
rtx gen_int_mode(poly_int64, machine_mode)
Definition emit-rtl.cc:544
void set_first_insn(rtx_insn *insn)
Definition emit-rtl.h:440
bool valid_for_const_vector_p(machine_mode, rtx)
Definition emit-rtl.cc:6081
rtx change_address(rtx, machine_mode, rtx)
Definition emit-rtl.cc:2322
void maybe_set_max_label_num(rtx_code_label *x)
Definition emit-rtl.cc:1541
bool need_atomic_barrier_p(enum memmodel, bool)
Definition emit-rtl.cc:6744
rtx_insn * copy_delay_slot_insn(rtx_insn *)
Definition emit-rtl.cc:5946
struct sequence_stack * get_topmost_sequence(void)
Definition emit-rtl.h:416
void set_mem_offset(rtx, poly_int64)
Definition emit-rtl.cc:2229
void clear_mem_size(rtx)
Definition emit-rtl.cc:2261
rtx force_reload_address(rtx mem)
Definition emit-rtl.cc:2700
#define crtl
Definition emit-rtl.h:347
struct rtl_data x_rtl
Definition emit-rtl.cc:83
rtx gen_const_vec_duplicate(machine_mode, rtx)
Definition emit-rtl.cc:6093
void set_reg_attrs_from_value(rtx, rtx)
Definition emit-rtl.cc:1312
void set_mem_align(rtx, unsigned int)
Definition emit-rtl.cc:2209
bool mem_expr_equal_p(const_tree, const_tree)
Definition emit-rtl.cc:1844
rtx adjust_address_1(rtx, machine_mode, poly_int64, int, int, int, poly_int64)
Definition emit-rtl.cc:2363
rtx gen_const_vec_series(machine_mode, rtx, rtx)
Definition emit-rtl.cc:6162
void set_mem_alias_set(rtx, alias_set_type)
Definition emit-rtl.cc:2187
void set_reg_attrs_for_parm(rtx, rtx)
Definition emit-rtl.cc:1376
void set_mem_attrs_for_spill(rtx)
Definition emit-rtl.cc:2834
void set_mem_size(rtx, poly_int64)
Definition emit-rtl.cc:2250
rtx_insn * get_last_insn(void)
Definition emit-rtl.h:449
rtx replace_equiv_address_nv(rtx, rtx, bool=false)
Definition emit-rtl.cc:2575
void set_mem_addr_space(rtx, addr_space_t)
Definition emit-rtl.cc:2199
void set_mem_attributes(rtx, tree, int)
Definition emit-rtl.cc:2179
void adjust_reg_mode(rtx, machine_mode)
Definition emit-rtl.cc:1302
rtx gen_vec_series(machine_mode, rtx, rtx)
Definition emit-rtl.cc:6180
rtx_insn * get_insns(void)
Definition emit-rtl.h:432
bool mem_attrs_eq_p(const class mem_attrs *, const class mem_attrs *)
Definition emit-rtl.cc:356
rtx copy_insn(rtx)
Definition emit-rtl.cc:5932
rtx replace_equiv_address(rtx, rtx, bool=false)
Definition emit-rtl.cc:2564
rtx widen_memory_access(rtx, machine_mode, poly_int64)
Definition emit-rtl.cc:2720
void set_decl_incoming_rtl(tree, rtx, bool)
Definition emit-rtl.cc:1458
void set_last_insn(rtx_insn *insn)
Definition emit-rtl.h:457
void set_reg_attrs_for_decl_rtl(tree t, rtx x)
Definition emit-rtl.cc:1400
rtx offset_address(rtx, rtx, unsigned HOST_WIDE_INT)
Definition emit-rtl.cc:2512
rtvec gen_rtvec(int,...)
Definition emit-rtl.cc:1064
rtx_insn * emit_copy_of_insn_after(rtx_insn *, rtx_insn *)
Definition emit-rtl.cc:6584
void clear_mem_offset(rtx)
Definition emit-rtl.cc:2240
HARD_REG_ELT_TYPE HARD_REG_SET
Definition hard-reg-set.h:47
memmodel
Definition memmodel.h:38
rtx_insn * PREV_INSN(const rtx_insn *insn)
Definition rtl.h:1468
rtx_insn * NEXT_INSN(const rtx_insn *insn)
Definition rtl.h:1479
Definition emit-rtl.h:529
virtual rtx get_reload_reg() const
Definition emit-rtl.h:531
rtx emit_autoinc(rtx value, poly_int64 amount)
Definition emit-rtl.cc:2590
Definition function.h:173
poly_int64 size
Definition emit-rtl.h:38
poly_int64 pops_args
Definition emit-rtl.h:33
int pretend_args_size
Definition emit-rtl.h:43
CUMULATIVE_ARGS info
Definition emit-rtl.h:51
rtx arg_offset_rtx
Definition emit-rtl.h:47
rtx internal_arg_pointer
Definition emit-rtl.h:54
Definition function.cc:1262
bool uses_pic_offset_table
Definition emit-rtl.h:226
bool stack_realign_needed
Definition emit-rtl.h:250
struct initial_value_struct * hard_reg_initial_vals
Definition emit-rtl.h:96
bool tail_call_emit
Definition emit-rtl.h:232
bool frame_pointer_needed
Definition emit-rtl.h:240
bool saves_all_registers
Definition emit-rtl.h:199
bool is_leaf
Definition emit-rtl.h:297
bool has_nonlocal_goto
Definition emit-rtl.h:203
bool stack_realign_processed
Definition emit-rtl.h:264
bool calls_eh_return
Definition emit-rtl.h:195
rtx return_rtx
Definition emit-rtl.h:89
bool shrink_wrapped
Definition emit-rtl.h:279
int x_temp_slot_level
Definition emit-rtl.h:157
unsigned int stack_alignment_estimated
Definition emit-rtl.h:180
rtx_insn * x_function_beg_insn
Definition emit-rtl.h:145
rtx_insn * x_parm_birth_insn
Definition emit-rtl.h:148
unsigned int stack_alignment_needed
Definition emit-rtl.h:161
bool limit_stack
Definition emit-rtl.h:217
struct incoming_args args
Definition emit-rtl.h:65
bool uses_only_leaf_regs
Definition emit-rtl.h:302
HARD_REG_SET must_be_zero_on_return
Definition emit-rtl.h:320
rtx x_arg_pointer_save_area
Definition emit-rtl.h:134
bool shrink_wrapped_separate
Definition emit-rtl.h:283
bool nothrow
Definition emit-rtl.h:276
bool uses_eh_lsda
Definition emit-rtl.h:229
bool maybe_hot_insn_p
Definition emit-rtl.h:243
struct rtl_eh eh
Definition emit-rtl.h:67
bool accesses_prior_frames
Definition emit-rtl.h:192
void init_stack_alignment()
Definition emit-rtl.cc:6782
bool uses_const_pool
Definition emit-rtl.h:223
rtx drap_reg
Definition emit-rtl.h:137
poly_int64 outgoing_args_size
Definition emit-rtl.h:83
bool arg_pointer_save_area_init
Definition emit-rtl.h:235
unsigned short patch_area_size
Definition emit-rtl.h:183
struct varasm_status varasm
Definition emit-rtl.h:64
rtx_note * x_stack_check_probe_note
Definition emit-rtl.h:128
int max_insn_address
Definition emit-rtl.h:323
unsigned int parm_stack_boundary
Definition emit-rtl.h:168
rtx_code_label * x_return_label
Definition emit-rtl.h:113
bool stack_realign_tried
Definition emit-rtl.h:255
struct function_subsections subsections
Definition emit-rtl.h:66
poly_int64 x_frame_offset
Definition emit-rtl.h:142
HARD_REG_SET asm_clobbers
Definition emit-rtl.h:317
const predefined_function_abi * abi
Definition emit-rtl.h:75
bool sp_is_clobbered_by_asm
Definition emit-rtl.h:291
bool sp_is_unchanging
Definition emit-rtl.h:288
bool has_bb_partition
Definition emit-rtl.h:307
tree stack_protect_guard
Definition emit-rtl.h:100
bool all_throwers_are_sibcalls
Definition emit-rtl.h:213
class frame_space * frame_space_list
Definition emit-rtl.h:125
vec< temp_slot_p, va_gc > * x_used_temp_slots
Definition emit-rtl.h:151
rtl_ssa::function_info * ssa
Definition emit-rtl.h:77
unsigned short patch_area_entry
Definition emit-rtl.h:186
bool has_asm_statement
Definition emit-rtl.h:206
bool stack_realign_finalized
Definition emit-rtl.h:268
unsigned int max_used_stack_slot_alignment
Definition emit-rtl.h:171
vec< rtx, va_gc > * x_stack_slot_list
Definition emit-rtl.h:122
struct emit_status emit
Definition emit-rtl.h:63
bool need_drap
Definition emit-rtl.h:259
bool bb_reorder_complete
Definition emit-rtl.h:311
bool dbr_scheduled_p
Definition emit-rtl.h:271
bool profile
Definition emit-rtl.h:220
tree stack_protect_guard_decl
Definition emit-rtl.h:104
unsigned int preferred_stack_boundary
Definition emit-rtl.h:165
rtx_insn_list * x_nonlocal_goto_handler_labels
Definition emit-rtl.h:108
rtx_code_label * x_naked_return_label
Definition emit-rtl.h:118
class temp_slot * x_avail_temp_slots
Definition emit-rtl.h:154
Definition function.h:137
struct sequence_stack * next
Definition function.h:33
rtx_insn * last
Definition function.h:32
rtx_insn * first
Definition function.h:31
Definition function.h:162
#define gcc_checking_assert(EXPR)
Definition system.h:821