40#define NO_DEFER_POP (inhibit_defer_pop += 1)
44#define OK_DEFER_POP (inhibit_defer_pop -= 1)
75 rtx x,
int unsignedp);
132 unsigned ctz_size = 0);
134 unsigned int, HOST_WIDE_INT,
135 unsigned HOST_WIDE_INT,
136 unsigned HOST_WIDE_INT,
137 unsigned HOST_WIDE_INT,
138 bool bail_out_libcall =
false,
139 bool *is_move_done =
NULL,
140 bool might_overlap =
false,
141 unsigned ctz_size = 0);
144 unsigned ctz_len = 0);
206#ifdef GCC_INSN_CODES_H
215 unsigned int, HOST_WIDE_INT,
216 unsigned HOST_WIDE_INT,
217 unsigned HOST_WIDE_INT,
218 unsigned HOST_WIDE_INT,
225 unsigned int, HOST_WIDE_INT,
226 unsigned HOST_WIDE_INT,
227 unsigned HOST_WIDE_INT,
228 unsigned HOST_WIDE_INT);
239 void *,
unsigned int,
bool);
259 unsigned int ctz_len,
260 unsigned HOST_WIDE_INT min_len,
261 unsigned HOST_WIDE_INT max_len,
314 rtx * =
nullptr,
bool =
false);
382 HOST_WIDE_INT *, HOST_WIDE_INT *,
401extern unsigned HOST_WIDE_INT
bool try_store_by_multiple_pieces(rtx to, rtx len, unsigned int ctz_len, unsigned HOST_WIDE_INT min_len, unsigned HOST_WIDE_INT max_len, rtx val, char valc, unsigned int align)
Definition builtins.cc:4401
Definition machmode.h:833
Definition profile-count.h:149
struct rtx_def * rtx
Definition coretypes.h:57
const struct rtx_def * const_rtx
Definition coretypes.h:58
const union tree_node * const_tree
Definition coretypes.h:98
union tree_node * tree
Definition coretypes.h:97
rtx expand_expr_real(tree exp, rtx target, machine_mode tmode, enum expand_modifier modifier, rtx *alt_rtl, bool inner_reference_p)
Definition expr.cc:9641
rtx emit_group_move_into_temps(rtx src)
Definition expr.cc:3234
enum tree_code maybe_optimize_mod_cmp(enum tree_code code, tree *arg0, tree *arg1)
Definition expr.cc:13663
rtx emit_block_move(rtx x, rtx y, rtx size, enum block_op_methods method, unsigned int ctz_size)
Definition expr.cc:2161
void get_bit_range(poly_uint64 *bitstart, poly_uint64 *bitend, tree exp, poly_int64 *bitpos, tree *offset)
Definition expr.cc:5884
bool mem_ref_refers_to_non_mem_p(tree ref)
Definition expr.cc:5977
void init_expr_target(void)
Definition expr.cc:120
void move_block_from_reg(int regno, rtx x, int nregs)
Definition expr.cc:2904
void expand_crc_table_based(rtx op0, rtx op1, rtx op2, rtx op3, machine_mode data_mode)
Definition expr.cc:14853
void emit_group_store(rtx orig_dst, rtx src, tree type, poly_int64 ssize)
Definition expr.cc:3258
rtx read_complex_part(rtx cplx, bool imag_p)
Definition expr.cc:4152
bool try_tablejump(tree index_type, tree index_expr, tree minval, tree range, rtx table_label, rtx default_label, profile_probability default_probability)
Definition expr.cc:14360
rtx push_block(rtx size, poly_int64 extra, int below)
Definition expr.cc:4897
void expand_operands(tree exp0, tree exp1, rtx target, rtx *op0, rtx *op1, enum expand_modifier modifier)
Definition expr.cc:9221
bool immediate_const_ctor_p(const_tree ctor, unsigned int words)
Definition expr.cc:7363
rtx get_personality_function(tree decl)
Definition expr.cc:14493
void expand_assignment(tree to, tree from, bool nontemporal)
Definition expr.cc:6013
rtx_insn * emit_move_complex_push(machine_mode mode, rtx x, rtx y)
Definition expr.cc:4343
bool safe_from_p(const_rtx x, tree exp, int top_p)
Definition expr.cc:8935
rtx expand_expr_real_gassign(gassign *g, rtx target, machine_mode tmode, enum expand_modifier modifier, rtx *alt_rtl, bool inner_reference_p)
Definition expr.cc:11418
void emit_group_move(rtx dst, rtx src)
Definition expr.cc:3217
rtx clear_storage_hints(rtx object, rtx size, enum block_op_methods method, unsigned int expected_align, HOST_WIDE_INT expected_size, unsigned HOST_WIDE_INT min_size, unsigned HOST_WIDE_INT max_size, unsigned HOST_WIDE_INT probable_max_size, unsigned ctz_size)
Definition expr.cc:3891
void write_complex_part(rtx cplx, rtx val, bool imag_p, bool undefined_p)
Definition expr.cc:4090
bool set_storage_via_setmem(rtx object, rtx size, rtx val, unsigned int align, unsigned int expected_align, HOST_WIDE_INT expected_size, unsigned HOST_WIDE_INT min_size, unsigned HOST_WIDE_INT max_size, unsigned HOST_WIDE_INT probable_max_size)
Definition expr.cc:4001
tree string_constant(tree arg, tree *ptr_offset, tree *mem_size, tree *decl)
Definition expr.cc:13536
rtx convert_to_mode(machine_mode mode, rtx x, int unsignedp)
Definition expr.cc:870
rtx convert_modes(machine_mode mode, machine_mode oldmode, rtx x, int unsignedp)
Definition expr.cc:886
unsigned HOST_WIDE_INT gf2n_poly_long_div_quotient(unsigned HOST_WIDE_INT polynomial, unsigned short n)
Definition expr.cc:14570
rtx convert_float_to_wider_int(machine_mode mode, machine_mode fmode, rtx x)
Definition expr.cc:976
void move_block_to_reg(int regno, rtx x, int nregs, machine_mode mode)
Definition expr.cc:2872
rtx expr_size(tree exp)
Definition expr.cc:14527
void expand_reversed_crc_table_based(rtx op0, rtx op1, rtx op2, rtx op3, machine_mode data_mode)
Definition expr.cc:14885
HOST_WIDE_INT int_expr_size(const_tree exp)
Definition expr.cc:14547
bool try_casesi(tree index_type, tree index_expr, tree minval, tree range, rtx table_label, rtx default_label, rtx fallback_label, profile_probability default_probability)
Definition expr.cc:14211
rtx_insn * emit_move_insn(rtx x, rtx y)
Definition expr.cc:4654
void use_group_regs(rtx *call_fusage, rtx regs)
Definition expr.cc:3829
rtx expand_expr_real_2(const_sepops ops, rtx target, machine_mode tmode, enum expand_modifier modifier)
Definition expr.cc:9945
rtx set_storage_via_libcall(rtx object, rtx size, rtx val, bool tailcall)
Definition expr.cc:3972
rtx copy_blkmode_to_reg(machine_mode mode_in, tree src)
Definition expr.cc:3660
rtx gen_group_rtx(rtx orig)
Definition expr.cc:2941
rtx expand_cmpstrn_or_cmpmem(insn_code icode, rtx target, rtx arg1_rtx, rtx arg2_rtx, tree arg3_type, rtx arg3_rtx, HOST_WIDE_INT align)
Definition expr.cc:2585
unsigned HOST_WIDE_INT highest_pow2_factor(const_tree exp)
Definition expr.cc:9131
rtx emit_block_move_hints(rtx x, rtx y, rtx size, enum block_op_methods method, unsigned int expected_align, HOST_WIDE_INT expected_size, unsigned HOST_WIDE_INT min_size, unsigned HOST_WIDE_INT max_size, unsigned HOST_WIDE_INT probable_max_size, bool bail_out_libcall, bool *is_move_done, bool might_overlap, unsigned ctz_size)
Definition expr.cc:2026
tree byte_representation(tree arg, tree *ptr_offset, tree *mem_size, tree *decl)
Definition expr.cc:13546
rtx store_by_pieces(rtx to, unsigned HOST_WIDE_INT len, by_pieces_constfn constfun, void *constfundata, unsigned int align, bool memsetp, memop_ret retmode)
Definition expr.cc:1842
bool can_move_by_pieces(unsigned HOST_WIDE_INT len, unsigned int align)
Definition expr.cc:1115
void init_expr(void)
Definition expr.cc:211
void maybe_optimize_sub_cmp_0(enum tree_code code, tree *arg0, tree *arg1)
Definition expr.cc:13851
rtx emit_move_resolve_push(machine_mode mode, rtx x)
Definition expr.cc:4288
rtx_insn * gen_move_insn(rtx x, rtx y)
Definition expr.cc:4791
void clear_by_pieces(rtx to, unsigned HOST_WIDE_INT len, unsigned int align)
Definition expr.cc:1869
void use_reg_mode(rtx *call_fusage, rtx reg, machine_mode mode)
Definition expr.cc:3787
rtx emit_group_load_into_temps(rtx parallel, rtx src, tree type, poly_int64 ssize)
Definition expr.cc:3187
rtx maybe_emit_group_store(rtx x, tree type)
Definition expr.cc:3529
bool can_store_by_pieces(unsigned HOST_WIDE_INT len, by_pieces_constfn constfun, void *constfundata, unsigned int align, bool memsetp)
Definition expr.cc:1760
void convert_move(rtx to, rtx from, int unsignedp)
Definition expr.cc:223
rtx expand_expr_real_1(tree exp, rtx target, machine_mode tmode, enum expand_modifier modifier, rtx *alt_rtl, bool inner_reference_p)
Definition expr.cc:11509
rtx emit_block_op_via_libcall(enum built_in_function fncode, rtx dst, rtx src, rtx size, bool tailcall)
Definition expr.cc:2542
bool emit_storent_insn(rtx to, rtx from)
Definition expr.cc:6534
void clobber_reg_mode(rtx *call_fusage, rtx reg, machine_mode mode)
Definition expr.cc:3802
rtx convert_wider_int_to_float(machine_mode mode, machine_mode imode, rtx x)
Definition expr.cc:989
rtx force_operand(rtx value, rtx target)
Definition expr.cc:8770
bool emit_push_insn(rtx x, machine_mode mode, tree type, rtx size, unsigned int align, int partial, rtx reg, poly_int64 extra, rtx args_addr, rtx args_so_far, int reg_parm_stack_space, rtx alignment_pad, bool sibcall_p)
Definition expr.cc:5311
rtx emit_block_cmp_hints(rtx x, rtx y, rtx len, tree len_type, rtx target, bool equality_only, by_pieces_constfn y_cfn, void *y_cfndata, unsigned ctz_len)
Definition expr.cc:2647
bool non_mem_decl_p(tree base)
Definition expr.cc:5960
rtx_insn * emit_move_complex_parts(rtx x, rtx y)
Definition expr.cc:4386
rtx_insn * emit_move_insn_1(rtx x, rtx y)
Definition expr.cc:4597
int bitint_extended
Definition expr.cc:83
rtx clear_storage(rtx object, rtx size, enum block_op_methods method)
Definition expr.cc:3957
enum rtx_code convert_tree_comp_to_rtx(enum tree_code tcode, int unsignedp)
Definition expr.cc:9161
rtx store_expr(tree exp, rtx target, int call_param_p, bool nontemporal, bool reverse)
Definition expr.cc:6616
void store_constructor(tree exp, rtx target, int cleared, poly_int64 size, bool reverse)
Definition expr.cc:7541
void emit_group_load(rtx dst, rtx src, tree type, poly_int64 ssize)
Definition expr.cc:3164
void use_regs(rtx *call_fusage, int regno, int nregs)
Definition expr.cc:3814
bool categorize_ctor_elements(const_tree ctor, HOST_WIDE_INT *p_nz_elts, HOST_WIDE_INT *p_unique_nz_elts, HOST_WIDE_INT *p_init_elts, ctor_completeness *p_complete)
Definition expr.cc:7344
bool type_has_padding_at_level_p(tree)
Definition gimple-fold.cc:4879
rtx emit_block_move_via_libcall(rtx dst, rtx src, rtx size, bool tailcall=false)
Definition expr.h:96
void clobber_reg(rtx *fusage, rtx reg)
Definition expr.h:194
struct separate_ops * sepops
block_op_methods
Definition expr.h:109
@ BLOCK_OP_CALL_PARM
Definition expr.h:112
@ BLOCK_OP_NORMAL
Definition expr.h:110
@ BLOCK_OP_TAILCALL
Definition expr.h:114
@ BLOCK_OP_NO_LIBCALL
Definition expr.h:111
@ BLOCK_OP_NO_LIBCALL_RET
Definition expr.h:118
rtx emit_block_comp_via_libcall(rtx dst, rtx src, rtx size, bool tailcall=false)
Definition expr.h:102
rtx expand_expr(tree exp, rtx target, machine_mode mode, enum expand_modifier modifier)
Definition expr.h:320
expand_modifier
Definition expr.h:34
@ EXPAND_MEMORY
Definition expr.h:36
@ EXPAND_WRITE
Definition expr.h:35
@ EXPAND_CONST_ADDRESS
Definition expr.h:35
@ EXPAND_SUM
Definition expr.h:34
@ EXPAND_NORMAL
Definition expr.h:34
@ EXPAND_INITIALIZER
Definition expr.h:35
@ EXPAND_STACK_PARM
Definition expr.h:34
rtx expand_normal(tree exp)
Definition expr.h:327
void use_reg(rtx *fusage, rtx reg)
Definition expr.h:187
rtx(*) by_pieces_constfn(void *, void *, HOST_WIDE_INT, fixed_size_mode)
Definition expr.h:121
const struct separate_ops * const_sepops
Definition expr.h:57
rtx emit_block_copy_via_libcall(rtx dst, rtx src, rtx size, bool tailcall=false)
Definition expr.h:90
built_in_function
Definition genmatch.cc:1018
tree_code
Definition genmatch.cc:1011
poly_int< NUM_POLY_INT_COEFFS, unsigned HOST_WIDE_INT > poly_uint64
Definition poly-int-types.h:25
poly_int< NUM_POLY_INT_COEFFS, HOST_WIDE_INT > poly_int64
Definition poly-int-types.h:24
memop_ret
Definition rtl.h:4405
#define NULL_RTX
Definition rtl.h:709
rtx_code
Definition rtl.h:48
rtx data
Definition expr.h:127
fixed_size_mode mode
Definition expr.h:128
bool sparse
Definition expr.h:368
bool padded_union
Definition expr.h:378
bool padded_non_union
Definition expr.h:373
tree op1
Definition expr.h:54
location_t location
Definition expr.h:52
enum tree_code code
Definition expr.h:51
tree op0
Definition expr.h:54
tree op2
Definition expr.h:54
tree type
Definition expr.h:53
Definition tree-tailcall.cc:120
#define NULL
Definition system.h:58