#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "machmode.h"#include "real.h"#include "rtl.h"#include "tree.h"#include "flags.h"#include "regs.h"#include "hard-reg-set.h"#include "except.h"#include "function.h"#include "insn-config.h"#include "insn-attr.h"#include "expr.h"#include "optabs.h"#include "libfuncs.h"#include "recog.h"#include "reload.h"#include "output.h"#include "typeclass.h"#include "toplev.h"#include "ggc.h"#include "langhooks.h"#include "intl.h"#include "tm_p.h"#include "tree-iterator.h"#include "tree-pass.h"#include "tree-flow.h"#include "target.h"#include "timevar.h"#include "gt-expr.h"

Go to the source code of this file.
| #define CLEAR_BY_PIECES_P | ( | SIZE, | |||
| ALIGN | ) |
Value:
(move_by_pieces_ninsns (SIZE, ALIGN, STORE_MAX_PIECES + 1) \ < (unsigned int) CLEAR_RATIO)
| #define MOVE_BY_PIECES_P | ( | SIZE, | |||
| ALIGN | ) |
Value:
(move_by_pieces_ninsns (SIZE, ALIGN, MOVE_MAX_PIECES + 1) \ < (unsigned int) MOVE_RATIO)
| #define REDUCE_BIT_FIELD | ( | expr | ) |
Value:
(reduce_bit_field && !ignore \
? reduce_to_bit_field_precision ((expr), \
target, \
type) \
: (expr))
| #define SLOW_UNALIGNED_ACCESS | ( | MODE, | |||
| ALIGN | ) | STRICT_ALIGNMENT |
| #define STORE_BY_PIECES_P | ( | SIZE, | |||
| ALIGN | ) |
Value:
(move_by_pieces_ninsns (SIZE, ALIGN, STORE_MAX_PIECES + 1) \ < (unsigned int) MOVE_RATIO)
| #define STORE_MAX_PIECES MIN (MOVE_MAX_PIECES, 2 * sizeof (HOST_WIDE_INT)) |
| static int all_zeros_p | ( | tree | exp | ) | [static] |
Definition at line 4812 of file expr.c.
References categorize_ctor_elements(), count, HOST_WIDE_INT, initializer_zerop(), and TREE_CODE.
Referenced by expand_expr_real_1().
Definition at line 5796 of file expr.c.
References fold_convert(), size_binop(), size_int, sizetype, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, TREE_TYPE, TYPE_ALIGN_UNIT, and TYPE_SIZE_UNIT.
Definition at line 5823 of file expr.c.
References build_int_cst(), SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, TREE_TYPE, TYPE_DOMAIN, and TYPE_MIN_VALUE.
Definition at line 5844 of file expr.c.
References NULL_TREE, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, TREE_TYPE, TYPE_DOMAIN, and TYPE_MAX_VALUE.
Definition at line 1226 of file expr.c.
References gcc_target::calls::arg_partial_bytes, gcc_target::calls, emit_block_move_libcall_fn(), FUNCTION_ARG, FUNCTION_ARG_ADVANCE, INIT_CUMULATIVE_ARGS, mode, NULL, NULL_RTX, NULL_TREE, PUSH_ARGS, REG_P, REG_PARM_STACK_SPACE, targetm, tmp, TREE_CHAIN, TREE_TYPE, TREE_VALUE, TYPE_ARG_TYPES, TYPE_MODE, void, and void_list_node.
| int can_move_by_pieces | ( | unsigned HOST_WIDE_INT | len, | |
| unsigned int align | ATTRIBUTE_UNUSED | |||
| ) |
| int can_store_by_pieces | ( | unsigned HOST_WIDE_INT | len, | |
| rtx(*)(void *, HOST_WIDE_INT, enum machine_mode) | constfun, | |||
| void * | constfundata, | |||
| unsigned int | align | |||
| ) |
Definition at line 2187 of file expr.c.
References BITS_PER_UNIT, CODE_FOR_nothing, gcc_assert, GET_CLASS_NARROWEST_MODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, GET_MODE_WIDER_MODE, HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HOST_WIDE_INT, int, LEGITIMATE_CONSTANT_P, MAX, max_size, mode, mode_for_size(), MODE_INT, mov_optab, offset, move_by_pieces::reverse, size, SLOW_UNALIGNED_ACCESS, STORE_BY_PIECES_P, and STORE_MAX_PIECES.
| unsigned int case_values_threshold | ( | void | ) |
| static bool categorize_ctor_elements_1 | ( | tree | ctor, | |
| HOST_WIDE_INT * | p_nz_elts, | |||
| HOST_WIDE_INT * | p_elt_count, | |||
| bool * | p_must_clear | |||
| ) | [static] |
Definition at line 4537 of file expr.c.
References categorize_ctor_elements_1(), constructor_elt, CONSTRUCTOR_ELTS, constructor_static_from_elts_p(), count_type_elements(), FOR_EACH_CONSTRUCTOR_ELT, gcc_assert, host_integerp(), HOST_WIDE_INT, idx, initializer_constant_valid_p(), initializer_zerop(), mult, NULL_TREE, simple_cst_equal(), TREE_CHAIN, TREE_CODE, TREE_IMAGPART, tree_low_cst(), TREE_OPERAND, TREE_REALPART, TREE_STATIC, TREE_STRING_LENGTH, TREE_TYPE, TREE_VALUE, TREE_VECTOR_CST_ELTS, TYPE_SIZE, VEC_empty, VEC_index, and VEC_length.
Definition at line 2335 of file expr.c.
References clear_by_pieces_1(), store_by_pieces::constfun, store_by_pieces::constfundata, store_by_pieces::len, NULL, store_by_pieces_1(), and store_by_pieces::to.
| static rtx clear_by_pieces_1 | ( | void *data | ATTRIBUTE_UNUSED, | |
| HOST_WIDE_INT offset | ATTRIBUTE_UNUSED, | |||
| enum machine_mode mode | ATTRIBUTE_UNUSED | |||
| ) | [static] |
| rtx clear_storage | ( | rtx | object, | |
| rtx | size, | |||
| enum block_op_methods | method | |||
| ) |
Definition at line 2500 of file expr.c.
References align, BLOCK_OP_NORMAL, BLOCK_OP_TAILCALL, clear_by_pieces(), CLEAR_BY_PIECES_P, clear_storage_via_clrmem(), clear_storage_via_libcall(), COMPLEX_MODE_P, CONST0_RTX, const0_rtx, emit_move_insn(), gcc_assert, GET_CODE, GET_MODE, GET_MODE_INNER, GET_MODE_SIZE, HOST_WIDE_INT, INTVAL, MEM_ALIGN, mode, NULL, set_storage_via_setmem(), write_complex_part(), and zero.
| static tree clear_storage_libcall_fn | ( | int | for_call | ) | [static] |
Definition at line 2627 of file expr.c.
References assemble_external(), init_block_clear_fn(), make_decl_rtl(), and NULL.
Definition at line 2553 of file expr.c.
References arg_list, build1, build3, build_pointer_type(), CALL_EXPR_TAILCALL, clear_storage_libcall_fn(), convert_to_mode(), copy_to_mode_reg(), expand_normal(), integer_zero_node, make_tree(), NULL_TREE, Pmode, ptr_type_node, sizetype, tree_cons, TREE_TYPE, TYPE_MODE, and XEXP.
Definition at line 5861 of file expr.c.
References BITS_PER_UNIT, DECL_FIELD_OFFSET, DECL_OFFSET_ALIGN, fold_convert(), size_binop(), size_int, sizetype, SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_OPERAND, and TREE_TYPE.
Definition at line 3333 of file expr.c.
References can_extend_p(), CODE_FOR_nothing, CONST_DOUBLE_FROM_REAL_VALUE, emit_unop_insn(), exact_real_truncate(), force_const_mem(), force_reg(), gen_rtx_FLOAT_EXTEND, GET_CLASS_NARROWEST_MODE, get_last_insn(), GET_MODE, GET_MODE_CLASS, GET_MODE_WIDER_MODE, last_insn, LEGITIMATE_CONSTANT_P, NULL_RTX, r, REAL_VALUE_FROM_CONST_DOUBLE, REAL_VALUE_TYPE, REG_EQUAL, REG_P, rtx_cost(), SET, set_unique_reg_note(), UNKNOWN, and validize_mem().
Definition at line 9436 of file expr.c.
References CONST0_RTX, CONST_DOUBLE_FROM_REAL_VALUE, gen_rtx_CONST_VECTOR(), GET_MODE_INNER, GET_MODE_NUNITS, i, immed_double_const(), initializer_zerop(), rtvec_alloc(), RTVEC_ELT, TREE_CHAIN, TREE_CODE, TREE_INT_CST_HIGH, TREE_INT_CST_LOW, TREE_REAL_CST, TREE_TYPE, TREE_VALUE, TREE_VECTOR_CST_ELTS, TYPE_MODE, and units.
| rtx convert_modes | ( | enum machine_mode | mode, | |
| enum machine_mode | oldmode, | |||
| rtx | x, | |||
| int | unsignedp | |||
| ) |
Definition at line 742 of file expr.c.
References abort, convert_move(), direct_load, gcc_assert, gen_int_mode(), gen_lowpart, gen_reg_rtx(), GET_CODE, GET_MODE, GET_MODE_BITSIZE, GET_MODE_CLASS, GET_MODE_SIZE, HARD_REGISTER_P, HARD_REGNO_MODE_OK, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, immed_double_const(), INTVAL, MEM, MEM_P, MEM_VOLATILE_P, MODE_INT, REG, REG_P, REGNO, simplify_gen_subreg(), SUBREG_PROMOTED_UNSIGNED_P, SUBREG_PROMOTED_VAR_P, SUBREG_REG, TRULY_NOOP_TRUNCATION, val, and VECTOR_MODE_P.
Definition at line 349 of file expr.c.
References abort, BITS_PER_WORD, build_int_2, build_int_cst(), can_extend_p(), CEIL, CODE_FOR_nothing, CODE_FOR_slt, CODE_FOR_truncdfsf2, CODE_FOR_truncdihi2, CODE_FOR_truncdiqi2, CODE_FOR_truncdisi2, CODE_FOR_trunctfdf2, CODE_FOR_trunctfsf2, CODE_FOR_truncxfdf2, CODE_FOR_truncxfsf2, CONCAT, const0_rtx, CONSTANT_P, convert_move(), convert_to_mode(), copy_rtx(), copy_to_reg(), DECIMAL_FLOAT_MODE_P, direct_load, emit_cmp_insn(), emit_insn(), emit_libcall_block(), emit_library_call_value(), emit_move_insn(), emit_no_conflict_block(), emit_unop_insn(), end_sequence(), expand_shift(), extenddftf2_libfunc, extenddfxf2_libfunc, extendsfdf2_libfunc, extendsftf2_libfunc, extendsfxf2_libfunc, FIRST_PSEUDO_REGISTER, flag_force_mem, force_not_mem(), force_reg(), gcc_assert, gcc_unreachable, gen_lowpart, gen_reg_rtx(), gen_rtx_CLOBBER, gen_rtx_FLOAT_EXTEND, gen_rtx_FLOAT_TRUNCATE, gen_rtx_fmt_e(), gen_slt(), GET_CODE, get_insns(), GET_MODE, GET_MODE_BITSIZE, GET_MODE_CLASS, GET_MODE_PRECISION, GET_MODE_SIZE, GET_MODE_WIDER_MODE, HARD_REGNO_MODE_OK, HAVE_slt, HAVE_truncdfsf2, HAVE_truncdihi2, HAVE_truncdiqi2, HAVE_truncdisi2, HAVE_trunctfdf2, HAVE_trunctfsf2, HAVE_truncxfdf2, HAVE_truncxfsf2, i, index(), insns, LCT_CONST, MEM, MEM_P, MEM_VOLATILE_P, mode, mode_dependent_address_p(), MODE_FLOAT, MODE_INT, MODE_PARTIAL_INT, NE, NULL_RTX, NULL_TREE, operand_subword(), optimize, protect_from_queue(), REG, reg_overlap_mentioned_p(), REG_P, REGNO, SCALAR_FLOAT_MODE_P, sext_optab, SIGN_EXTEND, simplify_gen_subreg(), size_int, smallest_mode_for_size(), start_sequence(), STORE_FLAG_VALUE, SUBREG_PROMOTED_UNSIGNED_P, SUBREG_PROMOTED_VAR_P, SUBREG_REG, tab, tmp, TRULY_NOOP_TRUNCATION, trunc_optab, truncdfsf2_libfunc, trunctfdf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc, truncxfsf2_libfunc, UNITS_PER_WORD, UNKNOWN, VECTOR_MODE_P, word_mode, WORDS_BIG_ENDIAN, and XEXP.
| rtx convert_to_mode | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| int | unsignedp | |||
| ) |
Definition at line 2059 of file expr.c.
References assign_temp(), bitpos(), BITS_PER_UNIT, BITS_PER_WORD, build_qualified_type(), bytes, BYTES_BIG_ENDIAN, gcc_target::calls, convert_to_mode(), dst, extract_bit_field(), GET_MODE, GET_MODE_SIZE, HOST_WIDE_INT, int_size_in_bytes(), MIN, NULL, NULL_RTX, operand_subword(), operand_subword_force(), preserve_temp_slots(), gcc_target::calls::return_in_msb, src, store_bit_field(), targetm, TREE_UNSIGNED, TYPE_ALIGN, TYPE_QUAL_CONST, TYPE_QUALS, TYPE_UNSIGNED, UNITS_PER_WORD, and word_mode.
Definition at line 4700 of file expr.c.
References array_type_nelts(), COMPLEX_TYPE, count_type_elements(), f, gcc_unreachable, HOST_BITS_PER_WIDE_INT, host_integerp(), HOST_WIDE_INT, int_size_in_bytes(), integer_zerop(), max, n, NULL, tf, TREE_CHAIN, TREE_CODE, tree_low_cst(), TREE_TYPE, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_VECTOR_SUBPARTS, and UNITS_PER_WORD.
| static rtx do_store_flag | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | mode, | |||
| int | only_cheap | |||
| ) | [static] |
Definition at line 8986 of file expr.c.
References abs_optab, bcc_gen_fctn, can_compare_p(), ccp_store_flag, CODE_FOR_nothing, compare_from_rtx(), const0_rtx, const1_rtx, emit_jump_insn(), emit_label(), emit_move_insn(), emit_store_flag(), EQ, error_mark_node, expand_binop(), expand_expr(), EXPAND_NORMAL, expand_operands(), ffs_optab, fold_single_bit_test(), gcc_assert, gcc_unreachable, GE, gen_label_rtx(), gen_reg_rtx(), GET_CODE, GET_MODE, get_subtarget(), GT, int, integer_all_onesp(), integer_onep(), integer_pow2p(), integer_zero_node, integer_zerop(), LE, LT, NE, NULL_RTX, OPTAB_LIB_WIDEN, reg_mentioned_p(), REG_P, result, setcc_gen_code, STRIP_NOPS, swap_condition(), TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_MODE, TYPE_UNSIGNED, and xor_optab.
| static void do_tablejump | ( | rtx | index, | |
| enum machine_mode | mode, | |||
| rtx | range, | |||
| rtx | table_label, | |||
| rtx | default_label | |||
| ) | [static] |
Definition at line 9319 of file expr.c.
References CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE, cfun, convert_move(), convert_to_mode(), copy_to_mode_reg(), emit_barrier(), emit_cmp_and_jump_insns(), emit_jump_insn(), flag_pic, gen_const_mem(), GEN_INT, gen_reg_rtx(), gen_rtx_LABEL_REF, gen_rtx_MULT, gen_rtx_PLUS, gen_tablejump, GET_MODE_SIZE, INTVAL, memory_address_noforce(), NULL_RTX, PIC_CASE_VECTOR_ADDRESS, Pmode, REG_P, and vector.
| rtx emit_block_move | ( | rtx | x, | |
| rtx | y, | |||
| rtx | size, | |||
| enum block_op_methods | method | |||
| ) |
Definition at line 1152 of file expr.c.
References abort, adjust_address, align, block_move_libcall_safe_for_call_parm(), BLOCK_OP_CALL_PARM, BLOCK_OP_NO_LIBCALL, BLOCK_OP_NORMAL, BLOCK_OP_TAILCALL, const0_rtx, emit_block_move_via_libcall(), emit_block_move_via_loop(), emit_block_move_via_movmem(), emit_block_move_via_movstr(), gcc_assert, gcc_unreachable, GET_CODE, GET_MODE, INTVAL, MEM, MEM_ALIGN, MEM_P, MIN, move_by_pieces(), MOVE_BY_PIECES_P, NO_DEFER_POP, OK_DEFER_POP, protect_from_queue(), set_mem_size(), and shallow_copy_rtx.
| static tree emit_block_move_libcall_fn | ( | int | for_call | ) | [static] |
Definition at line 1423 of file expr.c.
References assemble_external(), init_block_move_fn(), make_decl_rtl(), and NULL.
Definition at line 1340 of file expr.c.
References arg_list, build1, build3, build_pointer_type(), CALL_EXPR_TAILCALL, convert_memory_address(), convert_to_mode(), copy_to_mode_reg(), emit_block_move_libcall_fn(), expand_normal(), make_tree(), NULL_TREE, Pmode, ptr_mode, ptr_type_node, sizetype, tree_cons, TREE_TYPE, TYPE_MODE, and XEXP.
| static void emit_block_move_via_loop | ( | rtx | x, | |
| rtx | y, | |||
| rtx | size, | |||
| unsigned int align | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1445 of file expr.c.
References change_address(), const0_rtx, const1_rtx, convert_modes(), do_pending_stack_adjust(), emit_cmp_and_jump_insns(), emit_jump(), emit_label(), emit_move_insn(), expand_simple_binop(), force_operand(), gen_label_rtx(), gen_reg_rtx(), gen_rtx_PLUS, GET_MODE, iter, LT, NULL_RTX, OPTAB_LIB_WIDEN, PLUS, Pmode, tmp, word_mode, and XEXP.
Definition at line 1271 of file expr.c.
References BITS_PER_UNIT, BITS_PER_WORD, CODE_FOR_nothing, convert_to_mode(), copy_to_mode_reg(), delete_insns_since(), emit_insn(), GEN_FCN, GEN_INT, GET_CLASS_NARROWEST_MODE, GET_CODE, get_last_insn(), GET_MODE_BITSIZE, GET_MODE_MASK, GET_MODE_WIDER_MODE, HOST_WIDE_INT, int, INTVAL, last, mode, MODE_INT, and volatile_ok.
Definition at line 1604 of file expr.c.
References adjust_address, assign_stack_temp(), BITS_PER_UNIT, BLOCK_REG_PADDING, build_int_cst(), BYTES_BIG_ENDIAN, COMPLEX_MODE_P, CONCAT, CONSTANT_P, downward, emit_group_load_1(), emit_move_insn(), expand_shift(), extract_bit_field(), gcc_assert, gen_lowpart, gen_reg_rtx(), GET_CODE, GET_MODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, HOST_WIDE_INT, i, int_mode_for_mode(), INTVAL, mem, MEM_ALIGN, MEM_P, mode, NULL_RTX, NULL_TREE, REG_P, SCALAR_INT_MODE_P, shift, simplify_gen_subreg(), SLOW_UNALIGNED_ACCESS, src, start, upward, VECTOR_MODE_P, XEXP, XVECEXP, and XVECLEN.
Definition at line 1786 of file expr.c.
References alloc_EXPR_LIST(), d, emit_group_load_1(), force_reg(), gen_rtx_PARALLEL, GET_MODE, i, REG_NOTE_KIND, rtvec_alloc(), RTVEC_ELT, vec, XEXP, XVECEXP, and XVECLEN.
Definition at line 1816 of file expr.c.
References abort, emit_move_insn(), gcc_assert, GET_CODE, i, XEXP, XVECEXP, and XVECLEN.
Definition at line 1833 of file expr.c.
References alloc_EXPR_LIST(), copy_to_reg(), d, gen_rtx_PARALLEL, GET_MODE, i, REG_NOTE_KIND, rtvec_alloc(), RTVEC_ELT, vec, XEXP, XVECEXP, and XVECLEN.
Definition at line 1857 of file expr.c.
References adjust_address, alloca, assign_stack_temp(), BITS_PER_UNIT, BLOCK_REG_PADDING, build_int_cst(), BYTES_BIG_ENDIAN, CONCAT, CONST0_RTX, dest, downward, dst, emit_group_load(), emit_group_store(), emit_move_insn(), expand_shift(), FIRST_PSEUDO_REGISTER, gcc_assert, gen_lowpart, gen_reg_rtx(), GET_CODE, GET_MODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, HOST_WIDE_INT, i, int_mode_for_mode(), INTVAL, MEM_ALIGN, MEM_P, mode, NULL_TREE, REG_P, REGNO, rtx_equal_p(), SCALAR_INT_MODE_P, shift, simplify_gen_subreg(), SLOW_UNALIGNED_ACCESS, start, store_bit_field(), subreg_lowpart_offset(), upward, XEXP, XVECEXP, and XVECLEN.
| static rtx emit_move_ccmode | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| rtx | y | |||
| ) | [static] |
Definition at line 3077 of file expr.c.
References CODE_FOR_nothing, emit_insn(), emit_move_change_mode(), emit_move_via_integer(), gcc_assert, GEN_FCN, mov_optab, NULL, and ret.
| static rtx emit_move_change_mode | ( | enum machine_mode | new_mode, | |
| enum machine_mode | old_mode, | |||
| rtx | x, | |||
| bool | force | |||
| ) | [static] |
Definition at line 2841 of file expr.c.
References adjust_address, adjust_address_nv, copy_replacements(), MEM_P, reload_in_progress, ret, simplify_gen_subreg(), and simplify_subreg().
| static rtx emit_move_complex | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| rtx | y | |||
| ) | [static] |
Definition at line 3011 of file expr.c.
References BIGGEST_ALIGNMENT, BLOCK_OP_NO_LIBCALL, CODE_FOR_nothing, CONCAT, CONSTANT_P, emit_block_move(), emit_insn(), emit_move_complex_push(), emit_move_via_integer(), GEN_INT, gen_rtx_CLOBBER, GET_CODE, get_last_insn(), get_mode_alignment(), GET_MODE_CLASS, GET_MODE_INNER, GET_MODE_SIZE, MEM_P, MODE_COMPLEX_FLOAT, mov_optab, push_operand(), read_complex_part(), reg_overlap_mentioned_p(), REG_P, register_operand(), reload_completed, reload_in_progress, ret, STRICT_ALIGNMENT, and write_complex_part().
| static rtx emit_move_complex_push | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| rtx | y | |||
| ) | [static] |
Definition at line 2968 of file expr.c.
References emit_move_insn(), emit_move_resolve_push(), gcc_unreachable, gen_rtx_MEM(), GET_CODE, GET_MODE_INNER, GET_MODE_SIZE, PUSH_ROUNDING, read_complex_part(), and XEXP.
Definition at line 3268 of file expr.c.
References abort, compress_float_constant(), CONSTANT_ADDRESS_P, CONSTANT_P, emit_move_insn_1(), flag_force_addr, force_const_mem(), gcc_assert, GET_CODE, GET_MODE, last_insn, LEGITIMATE_CONSTANT_P, MEM, MEM_P, memory_address_p(), mode, NULL_RTX, optimize, protect_from_queue(), push_operand(), REG, REG_EQUAL, REG_P, rtx_equal_p(), SCALAR_FLOAT_MODE_P, SET_DEST, SET_SRC, set_unique_reg_note(), single_set, use_anchored_address(), validize_mem(), and XEXP.
Definition at line 3217 of file expr.c.
References abort, add_optab, adjust_address, assign_stack_temp(), BITS_PER_WORD, cfun, change_address(), CODE_FOR_nothing, COMPLEX_MODE_P, CONSTANT_P, emit_insn(), emit_move_ccmode(), emit_move_complex(), emit_move_insn(), emit_move_insn_1(), emit_move_multi_word(), emit_move_via_integer(), end_sequence(), expand_binop(), find_replacement(), FIRST_PSEUDO_REGISTER, force_const_mem(), gcc_assert, GEN_FCN, gen_imagpart(), GEN_INT, gen_realpart(), gen_rtx_CLOBBER, gen_rtx_MEM(), gen_rtx_PLUS, gen_rtx_SUBREG(), GET_CODE, get_insns(), get_last_insn(), GET_MODE, GET_MODE_BITSIZE, GET_MODE_CLASS, GET_MODE_INNER, GET_MODE_SIZE, HOST_BITS_PER_WIDE_INT, i, if(), last_insn, mem, MEM, mode, MODE_CC, MODE_COMPLEX_FLOAT, MODE_COMPLEX_INT, mode_for_size(), MODE_INT, mov_optab, N_, operand_subword(), operand_subword_force(), OPTAB_LIB_WIDEN, Pmode, push_operand(), PUSH_ROUNDING, reg_mode, REG_P, REGNO, reload_completed, reload_in_progress, replace_equiv_address_nv(), result, ret, stack, STACK_GROWS_DOWNWARD, stack_pointer_rtx, start_sequence(), sub_optab, UNITS_PER_WORD, and XEXP.
| static rtx emit_move_multi_word | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| rtx | y | |||
| ) | [static] |
Definition at line 3137 of file expr.c.
References CONSTANT_P, emit_insn(), emit_move_insn(), emit_move_resolve_push(), end_sequence(), find_replacement(), force_const_mem(), gcc_assert, gen_rtx_CLOBBER, GET_CODE, get_insns(), GET_MODE_SIZE, i, last_insn, MEM_P, operand_subword(), operand_subword_force(), push_operand(), reload_completed, reload_in_progress, replace_equiv_address_nv(), start_sequence(), undefined_operand_subword_p(), UNITS_PER_WORD, use_anchored_address(), and XEXP.
| static rtx emit_move_resolve_push | ( | enum machine_mode | mode, | |
| rtx | x | |||
| ) | [static] |
Definition at line 2910 of file expr.c.
References emit_move_insn(), expand_simple_binop(), gcc_assert, gcc_unreachable, GEN_INT, GET_CODE, GET_MODE_SIZE, HOST_WIDE_INT, INTVAL, MINUS, OPTAB_LIB_WIDEN, PLUS, plus_constant, Pmode, PUSH_ROUNDING, replace_equiv_address(), stack_pointer_rtx, val, and XEXP.
| static rtx emit_move_via_integer | ( | enum machine_mode | mode, | |
| rtx | x, | |||
| rtx | y, | |||
| bool | force | |||
| ) | [static] |
Definition at line 2882 of file expr.c.
References CODE_FOR_nothing, emit_insn(), emit_move_change_mode(), GEN_FCN, int_mode_for_mode(), mov_optab, and NULL_RTX.
| void emit_push_insn | ( | rtx | x, | |
| enum machine_mode | mode, | |||
| tree | type, | |||
| rtx | size, | |||
| unsigned int | align, | |||
| int | partial, | |||
| rtx | reg, | |||
| int | extra, | |||
| rtx | args_addr, | |||
| rtx | args_so_far, | |||
| int | reg_parm_stack_space, | |||
| rtx | alignment_pad | |||
| ) |
Definition at line 3584 of file expr.c.
References abort, ACCUMULATE_OUTGOING_ARGS, addr(), adjust_address, anti_adjust_stack(), BIGGEST_ALIGNMENT, BITS_PER_UNIT, BITS_PER_WORD, BLOCK_OP_CALL_PARM, CONSTANT_P, copy_to_reg(), downward, emit_block_move(), emit_group_load(), emit_move_insn(), emit_push_insn(), expand_binop(), FIRST_PSEUDO_REGISTER, force_const_mem(), FUNCTION_ARG_PADDING, gcc_assert, GEN_INT, gen_rtx_MEM(), gen_rtx_PLUS, GET_CODE, GET_MODE, GET_MODE_CLASS, GET_MODE_SIZE, i, INTVAL, LEGITIMATE_CONSTANT_P, MEM_ALIGN, memory_address(), MODE_INT, move_block_to_reg(), move_by_pieces(), MOVE_BY_PIECES_P, none, NULL, NULL_RTX, NULL_TREE, store_by_pieces::offset, operand_subword_force(), OPTAB_LIB_WIDEN, PARM_BOUNDARY, plus_constant, Pmode, protect_from_queue(), PUSH_ARGS, push_block(), PUSH_ROUNDING, REG, reg_mentioned_p(), REG_P, REGNO, set_mem_alias_set(), set_mem_align(), set_mem_attributes(), skip, SLOW_UNALIGNED_ACCESS, stack_direction, STACK_PUSH_CODE, sub_optab, target, UNITS_PER_WORD, upward, validize_mem(), virtual_outgoing_args_rtx, virtual_stack_dynamic_rtx, and word_mode.
Definition at line 4024 of file expr.c.
References adjust_address, aggregate_value_p(), bitpos(), BITS_PER_UNIT, BLOCK_OP_NORMAL, COMPLEX_TYPE, component_uses_parent_alias_set(), CONCAT, const0_rtx, convert_memory_address(), convert_to_mode(), current_function_returns_pcc_struct, current_function_returns_struct, DECL_RTL, emit_block_move(), emit_group_load(), emit_library_call(), emit_move_insn(), expand_builtin_trap(), expand_expr(), expand_normal(), EXPAND_SUM, EXPAND_WRITE, expr_size(), free_temp_slots(), gcc_assert, gen_rtx_MEM(), get_alias_set(), GET_CODE, get_inner_reference(), GET_MODE, GET_MODE_ALIGNMENT, GET_MODE_BITSIZE, handled_component_p(), highest_pow2_factor_for_target(), HOST_WIDE_INT, int_size_in_bytes(), LCT_NORMAL, MEM_ALIGN, MEM_KEEP_ALIAS_SET_P, MEM_P, MEM_VOLATILE_P, memmove_libfunc, NULL, NULL_RTX, offset_address(), operand_equal_p(), optimize_bitfield_assignment_op(), Pmode, POINTER_TYPE_P, pop_temp_slots(), preserve_temp_slots(), ptr_mode, push_temp_slots(), REG_P, result, set_mem_attributes_minus_bitpos(), shallow_copy_rtx, size, sizetype, store_expr(), store_field(), TREE_CODE, TREE_TYPE, TYPE_MODE, TYPE_SIZE, TYPE_UNSIGNED, and XEXP.
| static rtx expand_expr_addr_expr | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | tmode, | |||
| enum expand_modifier | modifier | |||
| ) | [static] |
Definition at line 6577 of file expr.c.
References convert_memory_address(), expand_expr_addr_expr_1(), GET_MODE, Pmode, ptr_mode, result, TREE_OPERAND, TREE_TYPE, and TYPE_MODE.
| static rtx expand_expr_addr_expr_1 | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | tmode, | |||
| enum expand_modifier | modifier | |||
| ) | [static] |
Definition at line 6443 of file expr.c.
References assemble_external(), bitpos(), BITS_PER_UNIT, CONSTANT_CLASS_P, convert_memory_address(), DECL_INITIAL, DECL_P, EXPAND_CONST_ADDRESS, expand_expr(), expand_expr_addr_expr_1(), expand_expr_constant(), EXPAND_INITIALIZER, EXPAND_NORMAL, expand_simple_binop(), EXPAND_SUM, force_operand(), gcc_assert, gen_rtx_PLUS, get_inner_reference(), GET_MODE_BITSIZE, HOST_WIDE_INT, MEM_P, NULL, NULL_RTX, OPTAB_LIB_WIDEN, PLUS, plus_constant, result, tmp, TREE_CODE, TREE_OPERAND, TREE_TYPE, TREE_USED, TYPE_MODE, and XEXP.
| static rtx expand_expr_constant | ( | tree | exp, | |
| int | defer, | |||
| enum expand_modifier | modifier | |||
| ) | [static] |
Definition at line 6429 of file expr.c.
References EXPAND_INITIALIZER, mem, output_constant_def(), and use_anchored_address().
Referenced by expand_expr_addr_expr_1(), and expand_expr_real_1().
| rtx expand_expr_real | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | tmode, | |||
| enum expand_modifier | modifier, | |||
| rtx * | alt_rtl | |||
| ) |
Definition at line 6661 of file expr.c.
References alloc_EXPR_LIST(), CALL_P, cfun, CONST0_RTX, const0_rtx, emit_line_note(), expand_expr_real_1(), EXPR_HAS_LOCATION, EXPR_LOCATION, find_reg_note(), flag_non_call_exceptions, GEN_INT, GET_CODE, get_last_insn(), input_location, insn, last, lookup_stmt_eh_region(), may_trap_p(), next_real_insn(), NULL, NULL_RTX, PATTERN, record_block_change(), REG_EH_REGION, REG_NOTES, ret, TREE_BLOCK, TREE_CODE, TREE_TYPE, and USE.
| static rtx expand_expr_real_1 | ( | tree | exp, | |
| rtx | target, | |||
| enum machine_mode | tmode, | |||
| enum expand_modifier | modifier, | |||
| rtx * | alt_rtl | |||
| ) | [static] |
Definition at line 6735 of file expr.c.
References addr_for_mem_ref(), adjust_address, adjust_address_nv, align, all_zeros_p(), arg_pointer_rtx, array_ref_low_bound(), assemble_external(), assign_stack_temp_for_type(), assign_temp(), BIGGEST_ALIGNMENT, gcc_target::binds_local_p, bitpos(), BITS_PER_UNIT, BLOCK_OP_CALL_PARM, BLOCK_OP_NORMAL, build_constructor_from_list(), build_decl, build_int_cst(), build_qualified_type(), BUILT_IN_FRONTEND, BYTES_BIG_ENDIAN, cfun, clear_storage(), CODE_FOR_nothing, compare_tree_int(), COMPLETE_OR_UNBOUND_ARRAY_TYPE_P, CONCAT, const0_rtx, const1_rtx, CONST_DOUBLE_FROM_REAL_VALUE, const_vector_from_tree(), CONSTANT_P, constm1_rtx, CONSTRUCTOR_ELTS, convert_modes(), convert_move(), convert_to_mode(), copy_rtx(), copy_to_mode_reg(), copy_to_reg(), count, current_function_decl, DECL_ALIGN, DECL_ARTIFICIAL, DECL_BIT_FIELD, DECL_BUILT_IN, DECL_BUILT_IN_CLASS, DECL_EXTERNAL, decl_function_context(), DECL_IGNORED_P, DECL_INITIAL, DECL_MODE, DECL_RTL, DECL_SIZE, do_compare_rtx_and_jump(), do_jump(), do_pending_stack_adjust(), do_store_flag(), emit_barrier(), emit_block_move(), emit_cmp_and_jump_insns(), emit_insn(), emit_jump_insn(), emit_label(), emit_move_insn(), end_sequence(), EQ, error_mark_node, exact_log2, expand_abs(), expand_and(), expand_asm_expr(), expand_assignment(), expand_binop(), expand_builtin(), expand_call(), expand_case(), expand_computed_goto(), EXPAND_CONST_ADDRESS, expand_divmod(), expand_expr(), expand_expr_addr_expr(), expand_expr_constant(), expand_expr_real(), expand_expr_real_1(), expand_fix(), expand_float(), expand_goto(), EXPAND_INITIALIZER, expand_label(), EXPAND_MEMORY, expand_mult(), expand_mult_highpart_adjust(), EXPAND_NORMAL, expand_normal(), expand_null_return(), expand_operands(), expand_resx_expr(), expand_return(), expand_shift(), EXPAND_STACK_PARM, EXPAND_SUM, expand_ternary_op(), expand_unop(), expand_vec_cond_expr(), expand_vec_shift_expr(), expand_widen_pattern_expr(), EXPAND_WRITE, expr_size(), extract_bit_field(), FIRST_PSEUDO_REGISTER, flag_force_addr, flag_trapv, fold(), fold_convert(), fold_read_from_constant_string(), fold_unary(), FOR_EACH_CONSTRUCTOR_ELT, FOR_EACH_CONSTRUCTOR_VALUE, force_const_mem(), force_operand(), force_reg(), frame_pointer_rtx, function, FUNCTION_MODE, gcc_assert, gcc_unreachable, GE, GEN_FCN, gen_highpart(), GEN_INT, gen_int_mode(), gen_jump(), gen_label_rtx(), gen_lowpart, gen_lowpart_SUBREG(), gen_reg_rtx(), gen_rtx_AND, gen_rtx_fmt_e(), gen_rtx_LABEL_REF, gen_rtx_MEM(), gen_rtx_MINUS, gen_rtx_MULT, get_address_description(), GET_CODE, get_exception_filter(), get_exception_pointer(), get_inner_reference(), get_insns(), GET_MODE, GET_MODE_2XWIDER_MODE, GET_MODE_ALIGNMENT, GET_MODE_BITSIZE, GET_MODE_CLASS, GET_MODE_PRECISION, GET_MODE_SIZE, GET_MODE_WIDER_MODE, get_subtarget(), GT, HAVE_conditional_move, highest_pow2_factor(), HOST_BITS_PER_WIDE_INT, host_integerp(), HOST_WIDE_INT, idx, immed_double_const(), index(), insn, int_expr_size(), int_fits_type_p(), int_size_in_bytes(), integer_onep(), integer_zerop(), INTVAL, is_aligning_offset(), iter, jumpifnot(), LABEL_REF_NONLOCAL_P, label_rtx(), layout_decl(), LE, LEGITIMATE_CONSTANT_P, LT, mark_reg_pointer(), MAX, MEM_ALIGN, MEM_P, MEM_VOLATILE_P, memory_address(), memory_address_p(), MIN, MODE_COMPLEX_FLOAT, MODE_COMPLEX_INT, mode_for_size(), MODE_INT, MODE_VECTOR_FLOAT, MODE_VECTOR_INT, mostly_zeros_p(), MOVE_BY_PIECES_P, movmisalign_optab, NE, negate_rtx(), NO_DEFER_POP, NULL, NULL_RTX, NULL_TREE, OBJ_TYPE_REF_EXPR, offset_address(), OK_DEFER_POP, one_cmpl_optab, optab, optab_for_tree_code(), OPTAB_LIB_WIDEN, OPTAB_WIDEN, optimize, PLUS, plus_constant, Pmode, promote_mode(), ptr_mode, PUT_MODE, read_complex_part(), really_constant_p(), REDUCE_BIT_FIELD, REG_P, REGNO, replace_equiv_address(), result, ret, safe_from_p(), SAVE_EXPR_RESOLVED_P, SCALAR_INT_MODE_P, SET_DECL_RTL, set_mem_align(), set_mem_attributes(), SIGN_EXTEND, simplify_gen_binary(), simplify_gen_subreg(), size_diffop(), size_int, sizetype, SLOW_UNALIGNED_ACCESS, smul_widen_optab, SSA_NAME, SSA_NAME_VAR, start_sequence(), store_constructor(), store_expr(), store_field(), STRICT_ALIGNMENT, subreg_lowpart_offset(), SUBREG_PROMOTED_UNSIGNED_SET, SUBREG_PROMOTED_VAR_P, t1, targetm, tcc_binary, tcc_comparison, tcc_unary, tmp, TMR_ORIGINAL, TREE_ADDRESSABLE, TREE_CODE, TREE_CODE_CLASS, TREE_CONSTANT, TREE_CONSTANT_OVERFLOW, TREE_IMAGPART, tree_int_cst_equal(), TREE_INT_CST_HIGH, TREE_INT_CST_LOW, tree_low_cst(), TREE_OPERAND, TREE_READONLY, TREE_REAL_CST, TREE_REALPART, TREE_SIDE_EFFECTS, TREE_STATIC, TREE_STRING_LENGTH, TREE_STRING_POINTER, TREE_THIS_VOLATILE, TREE_TYPE, TREE_USED, TREE_VECTOR_CST_ELTS, tsi_end_p(), tsi_next(), tsi_start(), tsi_stmt(), TYPE_ALIGN, TYPE_ALIGN_OK, TYPE_ALIGN_UNIT, type_for_mode(), TYPE_MODE, TYPE_PRECISION, TYPE_QUAL_CONST, TYPE_QUALS, TYPE_SIZE, TYPE_SIZE_UNIT, TYPE_UNSIGNED, umul_widen_optab, use_anchored_address(), usmul_widen_optab, val, validize_mem(), void_type_node, VOID_TYPE_P, word_mode, write_complex_part(), XEXP, and xor_optab.
| static void expand_operands | ( | tree | exp0, | |
| tree | exp1, | |||
| rtx | target, | |||
| rtx * | op0, | |||
| rtx * | op1, | |||
| enum expand_modifier | modifier | |||
| ) | [static] |
Definition at line 6403 of file expr.c.
References copy_rtx(), expand_expr(), flag_evaluation_order, NULL_RTX, operand_equal_p(), safe_from_p(), save_expr(), and TREE_SIDE_EFFECTS.
Definition at line 6366 of file expr.c.
References DECL_EXTERNAL, DECL_HAS_VALUE_EXPR_P, DECL_ORIGIN, DECL_RTL_SET_P, DECL_VALUE_EXPR, expand_decl(), gcc_assert, rest_of_decl_compilation(), TREE_ASM_WRITTEN, TREE_CODE, and TREE_STATIC.
Definition at line 5914 of file expr.c.
References ARITHMETIC_P, CONST, CONSTANT_P, convert_move(), DIV, emit_move_insn(), expand_divmod(), expand_fix(), expand_float(), expand_mult(), expand_simple_binop(), expand_simple_unop(), FIRST_VIRTUAL_REGISTER, FIX, FLOAT, FLOAT_MODE_P, force_operand(), force_reg(), gen_reg_rtx(), GET_CODE, GET_MODE, GET_MODE_SIZE, GET_RTX_CLASS, get_subtarget(), INTEGRAL_MODE_P, LAST_VIRTUAL_REGISTER, MEM, MEM_P, MINUS, MOD, negate_rtx(), NULL, NULL_RTX, OPTAB_LIB_WIDEN, pic_offset_table_rtx, PLUS, REG, REG_P, REGNO, SIGN_EXTEND, simplify_gen_subreg(), SUBREG_BYTE, SUBREG_REG, TRUNCATE, UNARY_P, and XEXP.
Definition at line 1572 of file expr.c.
References abort, alloca, gcc_assert, gen_reg_rtx(), gen_rtvec_v(), gen_rtx_EXPR_LIST, gen_rtx_PARALLEL, GET_CODE, GET_MODE, i, length, mode, store_by_pieces::offset, offset, XEXP, XVECEXP, and XVECLEN.
| tree get_inner_reference | ( | tree | exp, | |
| HOST_WIDE_INT * | pbitsize, | |||
| HOST_WIDE_INT * | pbitpos, | |||
| tree * | poffset, | |||
| enum machine_mode * | pmode, | |||
| int * | punsignedp, | |||
| int * | pvolatilep, | |||
| bool | keep_aligning | |||
| ) |
Definition at line 5648 of file expr.c.
References array_ref_element_size(), array_ref_low_bound(), BIGGEST_ALIGNMENT, BIT_FIELD_REF_UNSIGNED, bitsize_int, bitsize_unit_node, bitsize_zero_node, bitsizetype, build2, component_ref_field_offset(), convert(), DECL_BIT_FIELD, DECL_FIELD_BIT_OFFSET, DECL_MODE, DECL_SIZE, DECL_UNSIGNED, fold(), fold_build2, fold_convert(), GET_MODE_BITSIZE, host_integerp(), index(), integer_zerop(), size_binop(), size_zero_node, sizetype, STRICT_ALIGNMENT, TREE_CODE, tree_low_cst(), TREE_OPERAND, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_ALIGN, TYPE_ALIGN_OK, TYPE_MODE, TYPE_SIZE, and TYPE_UNSIGNED.
| static GTY | ( | () | ) | [static] |
Definition at line 1393 of file expr.c.
References args, build_decl, build_function_type_list(), const_ptr_type_node, DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, get_identifier(), NULL_TREE, ptr_type_node, set_user_assembler_name(), sizetype, TREE_NOTHROW, TREE_PUBLIC, and VISIBILITY_DEFAULT.
| int handled_component_p | ( | tree | t | ) |
| unsigned HOST_WIDE_INT highest_pow2_factor | ( | tree | exp | ) |
Definition at line 6280 of file expr.c.
References BIGGEST_ALIGNMENT, highest_pow2_factor(), host_integerp(), HOST_WIDE_INT, integer_pow2p(), MAX, MIN, TREE_CODE, TREE_CONSTANT_OVERFLOW, TREE_INT_CST_LOW, tree_low_cst(), and TREE_OPERAND.
Definition at line 6351 of file expr.c.
References DECL_ALIGN_UNIT, highest_pow2_factor(), HOST_WIDE_INT, MAX, TREE_CODE, TREE_OPERAND, TREE_TYPE, and TYPE_ALIGN_UNIT.
Definition at line 338 of file expr.c.
References apply_args_value, cfun, forced_labels, ggc_alloc, ggc_alloc_cleared, inhibit_defer_pop, pending_chain, pending_stack_adjust, saveregs_value, and stack_pointer_delta.
Definition at line 245 of file expr.c.
References can_extend_p(), CODE_FOR_nothing, direct_load, direct_store, FIRST_PSEUDO_REGISTER, float_extend_from_mem, frame_pointer_rtx, gen_rtx_MEM(), gen_rtx_raw_REG, gen_rtx_REG(), gen_rtx_SET, GET_CLASS_NARROWEST_MODE, GET_MODE_WIDER_MODE, HARD_REGNO_MODE_OK, insn, int, mem, mode, MODE_FLOAT, NULL_RTX, NUM_MACHINE_MODES, PATTERN, Pmode, PUT_MODE, recog(), REGNO, rtx_alloc, SET_DEST, SET_SRC, and stack_pointer_rtx.
Definition at line 8823 of file expr.c.
References BIGGEST_ALIGNMENT, BITS_PER_UNIT, compare_tree_int(), exact_log2, host_integerp(), TREE_CODE, tree_low_cst(), and TREE_OPERAND.
| static int mostly_zeros_p | ( | tree | exp | ) | [static] |
Definition at line 4789 of file expr.c.
References categorize_ctor_elements(), count, count_type_elements(), HOST_WIDE_INT, initializer_zerop(), TREE_CODE, and TREE_TYPE.
Definition at line 1531 of file expr.c.
References delete_insns_since(), emit_insn(), emit_move_insn(), gcc_assert, GEN_INT, gen_rtx_REG(), get_last_insn(), i, last, operand_subword(), and word_mode.
| void move_block_to_reg | ( | int | regno, | |
| rtx | x, | |||
| int | nregs, | |||
| enum machine_mode | mode | |||
| ) |
Definition at line 1491 of file expr.c.
References CONSTANT_P, delete_insns_since(), emit_insn(), emit_move_insn(), force_const_mem(), GEN_INT, gen_rtx_REG(), get_last_insn(), i, last, LEGITIMATE_CONSTANT_P, operand_subword_force(), validize_mem(), and word_mode.
| rtx move_by_pieces | ( | rtx | to, | |
| rtx | from, | |||
| unsigned HOST_WIDE_INT | len, | |||
| unsigned int | align, | |||
| int | endp | |||
| ) |
Definition at line 869 of file expr.c.
References abort, adjust_address, adjust_automodify_address, move_by_pieces::autinc_from, move_by_pieces::autinc_to, BIGGEST_ALIGNMENT, BITS_PER_UNIT, CODE_FOR_nothing, CONSTANT_P, constm1_rtx, copy_addr_to_reg(), emit_insn(), move_by_pieces::explicit_inc_from, move_by_pieces::explicit_inc_to, move_by_pieces::from, move_by_pieces::from_addr, gcc_assert, gen_add2_insn(), GEN_FCN, GET_CLASS_NARROWEST_MODE, GET_CODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, GET_MODE_WIDER_MODE, HAVE_POST_INCREMENT, int, move_by_pieces::len, MAX, max_size, MEM_ALIGN, MIN, mode, mode_for_size(), MODE_INT, mov_optab, move_by_pieces_1(), move_by_pieces_ninsns(), MOVE_MAX, MOVE_MAX_PIECES, NULL_RTX, move_by_pieces::offset, plus_constant, move_by_pieces::reverse, SLOW_UNALIGNED_ACCESS, move_by_pieces::to, move_by_pieces::to_addr, store_by_pieces::to_addr, USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT, word_mode, and XEXP.
| static void move_by_pieces_1 | ( | rtx(*)(rtx,...) | genfun, | |
| enum machine_mode | mode, | |||
| struct move_by_pieces * | data | |||
| ) | [static] |
Definition at line 1083 of file expr.c.
References adjust_address, adjust_automodify_address, move_by_pieces::autinc_from, move_by_pieces::autinc_to, emit_insn(), move_by_pieces::explicit_inc_from, move_by_pieces::explicit_inc_to, move_by_pieces::from, move_by_pieces::from_addr, gcc_unreachable, gen_add2_insn(), GEN_INT, GET_MODE_SIZE, HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT, HOST_WIDE_INT, move_by_pieces::len, NULL, NULL_RTX, move_by_pieces::offset, move_by_pieces::reverse, size, move_by_pieces::to, and move_by_pieces::to_addr.
| static unsigned HOST_WIDE_INT move_by_pieces_ninsns | ( | unsigned HOST_WIDE_INT | l, | |
| unsigned int | align, | |||
| unsigned int | max_size | |||
| ) | [static] |
Definition at line 1031 of file expr.c.
References BITS_PER_UNIT, CODE_FOR_nothing, gcc_assert, GET_CLASS_NARROWEST_MODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, GET_MODE_WIDER_MODE, HOST_WIDE_INT, int, MAX, mode, mode_for_size(), MODE_INT, mov_optab, MOVE_MAX_PIECES, n_insns, and SLOW_UNALIGNED_ACCESS.
| static bool optimize_bitfield_assignment_op | ( | unsigned HOST_WIDE_INT | bitsize, | |
| unsigned HOST_WIDE_INT | bitpos, | |||
| enum machine_mode | mode1, | |||
| rtx | str_rtx, | |||
| tree | to, | |||
| tree | src | |||
| ) | [static] |
Definition at line 3873 of file expr.c.
References adjust_address, BINARY_CLASS_P, BITS_PER_UNIT, BITS_PER_WORD, build_int_cst(), BYTES_BIG_ENDIAN, const1_rtx, convert_modes(), emit_move_insn(), expand_and(), expand_binop(), expand_expr(), expand_shift(), GEN_INT, get_best_mode(), GET_CODE, GET_MODE, GET_MODE_BITSIZE, HOST_WIDE_INT, ior_optab, MEM_ALIGN, MEM_P, NULL, NULL_RTX, NULL_TREE, operand_equal_p(), optab, OPTAB_WIDEN, REG_P, result, set_mem_alias_set(), set_mem_expr(), shallow_copy_rtx, STRIP_NOPS, TREE_CODE, TREE_OPERAND, TREE_SIDE_EFFECTS, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_MODE, TYPE_UNSIGNED, word_mode, and xor_optab.
Definition at line 3416 of file expr.c.
References add_optab, anti_adjust_stack(), CONSTANT_P, convert_modes(), copy_to_mode_reg(), expand_binop(), GEN_INT, gen_rtx_PLUS, GET_CLASS_NARROWEST_MODE, GET_CODE, INTVAL, memory_address(), MODE_INT, negate_rtx(), OPTAB_LIB_WIDEN, plus_constant, Pmode, ptr_mode, REG, REG_P, and virtual_outgoing_args_rtx.
Definition at line 2776 of file expr.c.
References adjust_address_nv, BITS_PER_WORD, CONCAT, CONSTANT_CLASS_P, expand_expr(), EXPAND_NORMAL, extract_bit_field(), FIRST_PSEUDO_REGISTER, gcc_assert, GET_CODE, GET_MODE, GET_MODE_BITSIZE, GET_MODE_INNER, GET_MODE_SIZE, hard_regno_nregs, MEM_P, NULL_RTX, REG_P, REGNO, ret, simplify_gen_subreg(), SYMBOL_REF_DECL, TREE_CODE, TREE_IMAGPART, TREE_REALPART, and XEXP.
Definition at line 8784 of file expr.c.
References build_int_cst(), build_int_cst_type(), count, expand_and(), expand_expr(), EXPAND_NORMAL, expand_shift(), GET_CODE, GET_MODE, GET_MODE_BITSIZE, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, immed_double_const(), INTVAL, NULL_TREE, TYPE_PRECISION, and TYPE_UNSIGNED.
Definition at line 6074 of file expr.c.
References abort, alias_sets_conflict_p(), COMPLETE_TYPE_P, constructor_elt, CONSTRUCTOR_ELTS, DECL_EXPR_DECL, DECL_INITIAL, DECL_P, DECL_RTL, DECL_RTL_IF_SET, DECL_RTL_SET_P, FIRST_PSEUDO_REGISTER, first_rtl_op(), gcc_unreachable, get_alias_set(), GET_CODE, GET_MODE, HOST_WIDE_INT, i, idx, MEM, MEM_ALIAS_SET, MEM_P, nops, NULL_TREE, PLUS, REG, REG_P, REGNO, RTL_EXPR_RTL, RTL_EXPR_SEQUENCE, rtx_addr_varies_p(), rtx_equal_p(), safe_from_p(), SAVE_EXPR_RTL, staticp, SUBREG_REG, tcc_binary, tcc_comparison, tcc_constant, tcc_declaration, tcc_exceptional, tcc_expression, tcc_reference, tcc_statement, tcc_type, tcc_unary, TREE_CHAIN, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, tree_cons, TREE_OPERAND, TREE_PRIVATE, TREE_PURPOSE, TREE_STATIC, TREE_TYPE, TREE_VALUE, true_dependence(), TYPE_ARRAY_MAX_SIZE, TYPE_SIZE, VEC_iterate, virtual_outgoing_args_rtx, WITH_CLEANUP_EXPR_RTL, and XEXP.
Definition at line 2647 of file expr.c.
References BITS_PER_UNIT, BITS_PER_WORD, CODE_FOR_nothing, convert_to_mode(), copy_to_mode_reg(), delete_insns_since(), emit_insn(), GEN_FCN, GEN_INT, GET_CLASS_NARROWEST_MODE, GET_CODE, get_last_insn(), GET_MODE_BITSIZE, GET_MODE_MASK, GET_MODE_WIDER_MODE, HOST_WIDE_INT, int, INTVAL, last, mode, and MODE_INT.
Referenced by clear_storage(), and expand_builtin_memset().
| rtx store_by_pieces | ( | rtx | to, | |
| unsigned HOST_WIDE_INT | len, | |||
| rtx(*)(void *, HOST_WIDE_INT, enum machine_mode) | constfun, | |||
| void * | constfundata, | |||
| unsigned int | align, | |||
| int | endp | |||
| ) |
Definition at line 2283 of file expr.c.
References adjust_address, adjust_automodify_address, store_by_pieces::autinc_to, store_by_pieces::constfun, store_by_pieces::constfundata, constm1_rtx, copy_addr_to_reg(), emit_insn(), store_by_pieces::explicit_inc_to, gcc_assert, gen_add2_insn(), HAVE_POST_INCREMENT, store_by_pieces::len, store_by_pieces::offset, plus_constant, store_by_pieces::reverse, store_by_pieces_1(), STORE_BY_PIECES_P, store_by_pieces::to, and store_by_pieces::to_addr.
| static void store_by_pieces_1 | ( | struct store_by_pieces *data | ATTRIBUTE_UNUSED, | |
| unsigned int align | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 2365 of file expr.c.
References align, BITS_PER_UNIT, CODE_FOR_nothing, CONSTANT_P, copy_addr_to_reg(), gcc_assert, GEN_FCN, GET_CLASS_NARROWEST_MODE, GET_CODE, GET_MODE_ALIGNMENT, GET_MODE_SIZE, GET_MODE_WIDER_MODE, int, MAX, max_size, mode, mode_for_size(), MODE_INT, mov_optab, move_by_pieces_ninsns(), plus_constant, SLOW_UNALIGNED_ACCESS, store_by_pieces_2(), STORE_MAX_PIECES, store_by_pieces::to_addr, USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT, and XEXP.
| static void store_by_pieces_1 | ( | struct store_by_pieces * | , | |
| unsigned | int | |||
| ) | [static] |
| static void store_by_pieces_2 | ( | rtx(*)(rtx,...) | genfun, | |
| enum machine_mode | mode, | |||
| struct store_by_pieces * | data | |||
| ) | [static] |
Definition at line 2462 of file expr.c.
References adjust_address, adjust_automodify_address, store_by_pieces::autinc_to, store_by_pieces::constfun, store_by_pieces::constfundata, emit_insn(), store_by_pieces::explicit_inc_to, gen_add2_insn(), GEN_INT, GET_MODE_SIZE, HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT, HOST_WIDE_INT, store_by_pieces::len, store_by_pieces::offset, store_by_pieces::reverse, size, store_by_pieces::to, and store_by_pieces::to_addr.
Definition at line 4885 of file expr.c.
References adjust_address, bit_position(), bitpos(), BITS_PER_UNIT, BITS_PER_WORD, BLOCK_OP_NORMAL, build2, build_decl, build_int_cst(), BYTES_BIG_ENDIAN, clear_storage(), CODE_FOR_nothing, CONST0_RTX, constructor_elt, CONSTRUCTOR_ELTS, convert_to_mode(), copy_rtx(), count, DECL_BIT_FIELD, DECL_FIELD_BIT_OFFSET, DECL_FIELD_OFFSET, DECL_MODE, DECL_NONADDRESSABLE_P, DECL_SIZE, do_pending_stack_adjust(), emit_insn(), emit_jump(), emit_label(), emit_move_insn(), expand_assignment(), expand_normal(), expr_size(), fields_length(), fold_build2, fold_convert(), FOR_EACH_CONSTRUCTOR_ELT, FOR_EACH_CONSTRUCTOR_VALUE, gcc_assert, gcc_unreachable, GEN_FCN, GEN_INT, gen_label_rtx(), gen_reg_rtx(), gen_rtx_CLOBBER, gen_rtx_PARALLEL, get_alias_set(), GET_MODE, GET_MODE_BITSIZE, GET_MODE_CLASS, GET_MODE_INNER, GET_MODE_SIZE, highest_pow2_factor(), host_integerp(), HOST_WIDE_INT, i, idx, if(), index(), initializer_zerop(), int, int_bit_position(), int_const_binop(), int_size_in_bytes(), integer_one_node, integer_type_node, jumpif(), lo, make_tree(), MEM_KEEP_ALIAS_SET_P, MEM_P, MODE_INT, mostly_zeros_p(), NULL, NULL_TREE, offset_address(), Pmode, promote_mode(), ptr_mode, REG_P, rtvec_alloc(), RTVEC_ELT, SET_DECL_RTL, size_binop(), ssize_int, ssizetype, store_constructor(), store_constructor_field(), store_expr(), SUBSTITUTE_PLACEHOLDER_IN_EXPR, TREE_CODE, tree_low_cst(), TREE_OPERAND, TREE_STATIC, TREE_TYPE, TYPE_DOMAIN, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_NONALIASED_COMPONENT, TYPE_PRECISION, TYPE_SIZE, TYPE_SIZE_UNIT, TYPE_UNSIGNED, TYPE_VECTOR_SUBPARTS, UNITS_PER_WORD, vec_init_optab, VEC_iterate, VEC_length, vector, VECTOR_MODE_P, and word_mode.
| static void store_constructor_field | ( | rtx | target, | |
| unsigned HOST_WIDE_INT | bitsize, | |||
| HOST_WIDE_INT | bitpos, | |||
| enum machine_mode | mode, | |||
| tree | exp, | |||
| tree | type, | |||
| int | cleared, | |||
| int | alias_set | |||
| ) | [static] |
Definition at line 4839 of file expr.c.
References adjust_address, BITS_PER_UNIT, copy_rtx(), GET_MODE, GET_MODE_ALIGNMENT, MEM_ALIAS_SET, MEM_KEEP_ALIAS_SET_P, MEM_P, set_mem_alias_set(), store_constructor(), store_field(), and TREE_CODE.
Definition at line 4270 of file expr.c.
References abort, adjust_address, BLOCK_OP_CALL_PARM, BLOCK_OP_NORMAL, clear_storage(), const0_rtx, CONSTANT_P, convert(), convert_modes(), convert_move(), convert_to_mode(), copy_to_reg(), DECL_RTL_IF_SET, do_pending_stack_adjust(), emit_barrier(), emit_block_move(), emit_cmp_and_jump_insns(), emit_group_load(), emit_jump_insn(), emit_label(), emit_move_insn(), emit_queue(), end_cleanup_deferral(), expand_binop(), expand_expr(), expand_expr_real(), EXPAND_NORMAL, EXPAND_STACK_PARM, expr_size(), FIRST_PSEUDO_REGISTER, fold_convert(), force_operand(), gcc_assert, gen_jump(), gen_label_rtx(), gen_lowpart_SUBREG(), gen_reg_rtx(), GET_CODE, GET_MODE, GET_MODE_PRECISION, highest_pow2_factor(), int_size_in_bytes(), INTEGRAL_TYPE_P, INTVAL, jumpifnot(), LT, make_tree(), MEM, MEM_P, MEM_VOLATILE_P, NO_DEFER_POP, NULL_RTX, offset_address(), OK_DEFER_POP, OPTAB_LIB_WIDEN, plus_constant, Pmode, protect_from_queue(), ptr_mode, queued_subexp_p(), REG, reg_mentioned_p(), REG_P, REGNO, rtx_equal_p(), side_effects_p(), size, size_binop(), size_int, sizetype, start_cleanup_deferral(), store_expr(), sub_optab, SUBREG_PROMOTED_UNSIGNED_P, SUBREG_PROMOTED_UNSIGNED_SET, SUBREG_PROMOTED_VAR_P, SUBREG_REG, TREE_CODE, TREE_CODE_CLASS, TREE_OPERAND, TREE_STRING_LENGTH, TREE_TYPE, TREE_UNSIGNED, TYPE_MODE, TYPE_PRECISION, TYPE_UNSIGNED, VOID_TYPE_P, and XEXP.
| static rtx store_field | ( | rtx | target, | |
| HOST_WIDE_INT | bitsize, | |||
| HOST_WIDE_INT | bitpos, | |||
| enum machine_mode | mode, | |||
| tree | exp, | |||
| tree | type, | |||
| int | alias_set | |||
| ) | [static] |
Definition at line 5457 of file expr.c.
References adjust_address, assign_temp(), BITS_PER_UNIT, BLOCK_OP_NORMAL, BYTES_BIG_ENDIAN, compare_tree_int(), CONCAT, const0_rtx, convert_modes(), copy_rtx(), emit_block_move(), emit_move_insn(), expand_expr(), expand_normal(), expand_shift(), gcc_assert, GEN_INT, GET_CODE, GET_MODE, GET_MODE_ALIGNMENT, GET_MODE_BITSIZE, GET_MODE_CLASS, HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, INTEGRAL_TYPE_P, MEM_ALIAS_SET, MEM_ALIGN, MEM_KEEP_ALIAS_SET_P, MEM_P, MEM_SET_IN_STRUCT_P, MODE_COMPLEX_FLOAT, MODE_COMPLEX_INT, MODE_INT, NULL_RTX, REG_P, set_mem_alias_set(), size_int, SLOW_UNALIGNED_ACCESS, store_bit_field(), store_expr(), store_field(), TREE_CODE, TREE_OPERAND, TREE_TYPE, TYPE_MODE, TYPE_PRECISION, and TYPE_SIZE.
| tree string_constant | ( | tree | arg, | |
| tree * | ptr_offset | |||
| ) |
Definition at line 8867 of file expr.c.
References gcc_target::binds_local_p, compare_tree_int(), convert(), DECL_INITIAL, DECL_SIZE_UNIT, fold_convert(), host_integerp(), length, NULL_TREE, size_zero_node, sizetype, STRIP_NOPS, targetm, TREE_CODE, TREE_OPERAND, TREE_READONLY, TREE_SIDE_EFFECTS, and TREE_STRING_LENGTH.
| int try_casesi | ( | tree | index_type, | |
| tree | index_expr, | |||
| tree | minval, | |||
| tree | range, | |||
| rtx table_label | ATTRIBUTE_UNUSED, | |||
| rtx | default_label | |||
| ) |
Definition at line 9233 of file expr.c.
References build2, CODE_FOR_casesi, convert_modes(), convert_to_mode(), copy_to_mode_reg(), do_pending_stack_adjust(), emit_cmp_and_jump_insns(), emit_jump_insn(), expand_normal(), fold_convert(), gen_casesi, GET_MODE_BITSIZE, HAVE_casesi, index(), int, integer_zero_node, NULL_RTX, TREE_TYPE, TYPE_MODE, and TYPE_UNSIGNED.
| int try_tablejump | ( | tree | index_type, | |
| tree | index_expr, | |||
| tree | minval, | |||
| tree | range, | |||
| rtx | table_label, | |||
| rtx | default_label | |||
| ) |
Definition at line 9382 of file expr.c.
References build(), convert(), convert_modes(), do_pending_stack_adjust(), do_tablejump(), emit_queue(), expand_expr(), expand_normal(), fold(), fold_build2, fold_convert(), HAVE_tablejump, index(), NULL_RTX, protect_from_queue(), TREE_TYPE, TREE_UNSIGNED, TYPE_MODE, and TYPE_UNSIGNED.
Definition at line 3103 of file expr.c.
References BYTES_BIG_ENDIAN, GET_CODE, GET_MODE, GET_MODE_SIZE, offset, SUBREG_BYTE, SUBREG_REG, UNITS_PER_WORD, word_mode, and WORDS_BIG_ENDIAN.
Referenced by emit_move_multi_word().
Definition at line 2135 of file expr.c.
References abort, FIRST_PSEUDO_REGISTER, gcc_assert, gen_rtx_EXPR_LIST, gen_rtx_USE, GET_CODE, REG, REG_P, and REGNO.
Definition at line 2148 of file expr.c.
References abort, FIRST_PSEUDO_REGISTER, gcc_assert, i, regno_reg_rtx, and use_reg().
| int vector_mode_valid_p | ( | enum machine_mode | mode | ) |
Definition at line 9410 of file expr.c.
References CODE_FOR_nothing, GET_MODE_CLASS, GET_MODE_INNER, MODE_VECTOR_FLOAT, MODE_VECTOR_INT, mov_optab, gcc_target::scalar_mode_supported_p, targetm, gcc_target::vector_mode_supported_p, and VECTOR_MODE_SUPPORTED_P.
Definition at line 2715 of file expr.c.
References adjust_address_nv, BITS_PER_WORD, CONCAT, emit_move_insn(), FIRST_PSEUDO_REGISTER, gcc_assert, GET_CODE, GET_MODE, GET_MODE_BITSIZE, GET_MODE_INNER, GET_MODE_SIZE, hard_regno_nregs, MEM_P, REG_P, REGNO, simplify_gen_subreg(), store_bit_field(), and XEXP.
| enum insn_code cmpmem_optab[NUM_MACHINE_MODES] |
| enum insn_code cmpstr_optab[NUM_MACHINE_MODES] |
| enum insn_code cmpstrn_optab[NUM_MACHINE_MODES] |
Definition at line 208 of file expr.c.
Referenced by expand_builtin_strcmp(), init_optabs(), and prepare_cmp_insn().
| int cse_not_expected |
char direct_load[NUM_MACHINE_MODES] [static] |
char direct_store[NUM_MACHINE_MODES] [static] |
bool float_extend_from_mem[NUM_MACHINE_MODES][NUM_MACHINE_MODES] [static] |
| enum insn_code movmem_optab[NUM_MACHINE_MODES] |
| enum insn_code setmem_optab[NUM_MACHINE_MODES] |
| enum insn_code sync_add_optab[NUM_MACHINE_MODES] |
Definition at line 212 of file expr.c.
Referenced by expand_sync_operation(), gimplify_omp_atomic_fetch_op(), and init_optabs().
| enum insn_code sync_and_optab[NUM_MACHINE_MODES] |
Definition at line 215 of file expr.c.
Referenced by expand_sync_operation(), gimplify_omp_atomic_fetch_op(), and init_optabs().
| enum insn_code sync_compare_and_swap[NUM_MACHINE_MODES] |
Definition at line 230 of file expr.c.
Referenced by expand_bool_compare_and_swap(), expand_compare_and_swap_loop(), expand_sync_fetch_operation(), expand_sync_lock_test_and_set(), expand_sync_operation(), expand_val_compare_and_swap(), gimplify_omp_atomic_pipeline(), and init_optabs().
| enum insn_code sync_compare_and_swap_cc[NUM_MACHINE_MODES] |
Definition at line 231 of file expr.c.
Referenced by expand_bool_compare_and_swap(), expand_compare_and_swap_loop(), and init_optabs().
| enum insn_code sync_ior_optab[NUM_MACHINE_MODES] |
Definition at line 214 of file expr.c.
Referenced by expand_sync_operation(), gimplify_omp_atomic_fetch_op(), and init_optabs().
| enum insn_code sync_lock_release[NUM_MACHINE_MODES] |
Definition at line 233 of file expr.c.
Referenced by expand_builtin_lock_release(), and init_optabs().
| enum insn_code sync_lock_test_and_set[NUM_MACHINE_MODES] |
Definition at line 232 of file expr.c.
Referenced by expand_sync_lock_test_and_set(), and init_optabs().
| enum insn_code sync_nand_optab[NUM_MACHINE_MODES] |
| enum insn_code sync_new_add_optab[NUM_MACHINE_MODES] |
Definition at line 224 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_new_and_optab[NUM_MACHINE_MODES] |
Definition at line 227 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_new_ior_optab[NUM_MACHINE_MODES] |
Definition at line 226 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_new_nand_optab[NUM_MACHINE_MODES] |
Definition at line 229 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_new_sub_optab[NUM_MACHINE_MODES] |
Definition at line 225 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_new_xor_optab[NUM_MACHINE_MODES] |
Definition at line 228 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_old_add_optab[NUM_MACHINE_MODES] |
Definition at line 218 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_old_and_optab[NUM_MACHINE_MODES] |
Definition at line 221 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_old_ior_optab[NUM_MACHINE_MODES] |
Definition at line 220 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_old_nand_optab[NUM_MACHINE_MODES] |
Definition at line 223 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_old_sub_optab[NUM_MACHINE_MODES] |
Definition at line 219 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_old_xor_optab[NUM_MACHINE_MODES] |
Definition at line 222 of file expr.c.
Referenced by expand_sync_fetch_operation(), and init_optabs().
| enum insn_code sync_sub_optab[NUM_MACHINE_MODES] |
| enum insn_code sync_xor_optab[NUM_MACHINE_MODES] |
Definition at line 216 of file expr.c.
Referenced by expand_sync_operation(), gimplify_omp_atomic_fetch_op(), and init_optabs().
1.5.6