GCC Middle and Back End API Reference
expand_operand Class Reference

#include <optabs.h>

Collaboration diagram for expand_operand:

Data Fields

enum expand_operand_type type: 8
 
unsigned int unsigned_p: 1
 
unsigned int target: 1
 
unsigned int unused: 6
 
enum machine_mode mode: 16
 
rtx value
 
poly_int64 int_value
 

Detailed Description

Information about an operand for instruction expansion.   

Field Documentation

◆ int_value

poly_int64 expand_operand::int_value

◆ mode

enum machine_mode expand_operand::mode

Referenced by avoid_expensive_constant(), builtin_memcpy_read_str(), builtin_memset_gen_str(), builtin_memset_read_str(), builtin_strncpy_read_str(), calculate_table_based_CRC(), can_reuse_operands_p(), can_widen_mult_without_libcall(), canonicalize_comparison(), clear_storage_hints(), clobber_reg_mode(), const_vector_from_tree(), const_vector_mask_from_tree(), convert_extracted_bit_field(), copy_blkmode_from_reg(), copy_blkmode_to_reg(), create_expand_operand(), direct_optab_supported_p(), do_cmp_and_jump(), do_tablejump(), emit_block_move_via_oriented_loop(), emit_block_move_via_pattern(), emit_conditional_add(), emit_conditional_move(), emit_conditional_move(), emit_conditional_move_1(), emit_conditional_neg_or_complement(), emit_cstore(), emit_group_load_1(), emit_group_store(), emit_move_ccmode(), emit_move_complex(), emit_move_complex_push(), emit_move_insn(), emit_move_insn_1(), emit_move_multi_word(), emit_move_resolve_push(), emit_move_via_integer(), emit_push_insn(), emit_store_flag(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), emit_storent_insn(), expand_abs(), expand_abs_nojump(), expand_absneg_bit(), expand_addsub_overflow(), expand_arith_overflow_result_store(), expand_assignment(), expand_atomic_compare_and_swap(), expand_atomic_exchange(), expand_atomic_fetch_op_no_fallback(), expand_atomic_load(), expand_atomic_store(), expand_atomic_test_and_set(), expand_binop(), expand_binop_directly(), expand_BITINTTOFLOAT(), expand_builtin(), expand_builtin_atomic_clear(), expand_builtin_atomic_test_and_set(), expand_builtin_cexpi(), expand_builtin_crc_table_based(), expand_builtin_fabs(), expand_builtin_interclass_mathfn(), expand_builtin_memcmp(), expand_builtin_memory_chk(), expand_builtin_memset(), expand_builtin_memset_args(), expand_builtin_sincos(), expand_builtin_stpcpy(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strncmp(), expand_clrsb_using_clz(), expand_compare_and_swap_loop(), expand_cond_expr_using_cmove(), expand_constructor(), expand_copysign(), expand_copysign_absneg(), expand_copysign_bit(), expand_ctz(), expand_DIVMOD(), expand_doubleword_bswap(), expand_doubleword_clz_ctz_ffs(), expand_doubleword_divmod(), expand_doubleword_mod(), expand_doubleword_mult(), expand_doubleword_parity(), expand_doubleword_popcount(), expand_expr_divmod(), expand_expr_real_1(), expand_expr_real_2(), expand_ffs(), expand_FLOATTOBITINT(), expand_GOMP_SIMT_LAST_LANE(), expand_GOMP_SIMT_ORDERED_PRED(), expand_GOMP_SIMT_VOTE_ANY(), expand_GOMP_SIMT_XCHG_BFLY(), expand_GOMP_SIMT_XCHG_IDX(), expand_HWASAN_CHOOSE_TAG(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_op_fetch_cmp_0(), expand_misaligned_mem_ref(), expand_mul_overflow(), expand_mult_highpart(), expand_neg_overflow(), expand_one_cmpl_abs_nojump(), expand_parity(), expand_POPCOUNT(), expand_RAWMEMCHR(), expand_rotate_as_vec_perm(), expand_shift(), expand_shift_1(), expand_simple_binop(), expand_simple_unop(), expand_speculation_safe_value(), expand_strided_load_optab_fn(), expand_strided_store_optab_fn(), expand_ternary_op(), expand_twoval_binop(), expand_twoval_binop_libfunc(), expand_twoval_unop(), expand_UADDC(), expand_ubsan_result_store(), expand_unop(), expand_unop_direct(), expand_variable_shift(), expand_vec_cond_mask_optab_fn(), expand_vec_cond_optab_fn(), expand_vec_perm_const(), expand_vec_perm_var(), extract_bit_field(), extract_bit_field_1(), extract_bit_field_as_subreg(), extract_bit_field_using_extv(), extract_fixed_bit_field(), extract_fixed_bit_field_1(), extract_integral_bit_field(), extract_low_bits(), fold_builtin_atomic_always_lock_free(), fold_builtin_fpclassify(), fold_builtin_interclass_mathfn(), force_expand_binop(), gen_cond_trap(), gen_group_rtx(), gen_memset_value_from_prev(), get_inner_reference(), hard_libcall_value(), have_insn_for(), inline_expand_builtin_bytecmp(), inline_string_cmp(), lshift_value(), maybe_emit_atomic_exchange(), maybe_emit_atomic_test_and_set(), maybe_emit_chk_warning(), maybe_emit_compare_and_swap_exchange_loop(), maybe_emit_group_store(), maybe_emit_op(), maybe_emit_sync_lock_test_and_set(), maybe_expand_shift(), maybe_legitimize_operand(), move_block_to_reg(), prepare_libcall_arg(), set_storage_via_setmem(), shift_amt_for_vec_perm_mask(), sign_expand_binop(), simplify_expand_binop(), store_constructor(), store_constructor_field(), store_field(), store_fixed_bit_field_1(), string_cst_read_str(), use_reg_mode(), widen_bswap(), and widen_leading().

◆ target

unsigned int expand_operand::target

Referenced by allocate_dynamic_stack_space(), builtin_memset_gen_str(), builtin_memset_read_str(), compress_float_constant(), copy_blkmode_from_reg(), create_expand_operand(), emit_block_cmp_hints(), emit_block_cmp_via_cmpmem(), emit_block_cmp_via_loop(), emit_conditional_add(), emit_conditional_move(), emit_conditional_move(), emit_conditional_move_1(), emit_conditional_neg_or_complement(), emit_cstore(), emit_push_insn(), emit_store_flag(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), emit_unop_insn(), expand_abs(), expand_abs_nojump(), expand_absneg_bit(), expand_addsub_overflow(), expand_arith_overflow_result_store(), expand_arith_set_overflow(), expand_atomic_compare_and_swap(), expand_atomic_exchange(), expand_atomic_load(), expand_atomic_store(), expand_atomic_test_and_set(), expand_binop(), expand_binop_directly(), expand_BITINTTOFLOAT(), expand_builtin(), expand_builtin_assume_aligned(), expand_builtin_atomic_test_and_set(), expand_builtin_bswap(), expand_builtin_cexpi(), expand_builtin_copysign(), expand_builtin_crc_table_based(), expand_BUILTIN_EXPECT(), expand_builtin_expect(), expand_builtin_expect_with_probability(), expand_builtin_fabs(), expand_builtin_feclear_feraise_except(), expand_builtin_fegetround(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_interclass_mathfn(), expand_builtin_memcmp(), expand_builtin_memcpy(), expand_builtin_memmove(), expand_builtin_memory_chk(), expand_builtin_memory_copy_args(), expand_builtin_mempcpy(), expand_builtin_mempcpy_args(), expand_builtin_memset(), expand_builtin_memset_args(), expand_builtin_stpcpy(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strcpy(), expand_builtin_strcpy_args(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_strncpy(), expand_builtin_strnlen(), expand_builtin_thread_pointer(), expand_builtin_unop(), expand_clrsb_using_clz(), expand_cmpstr(), expand_cmpstrn_or_cmpmem(), expand_constructor(), expand_copysign_absneg(), expand_copysign_bit(), expand_ctz(), expand_dec(), expand_DIVMOD(), expand_doubleword_bswap(), expand_doubleword_clz_ctz_ffs(), expand_doubleword_mult(), expand_doubleword_parity(), expand_doubleword_popcount(), expand_expr_addr_expr(), expand_expr_addr_expr_1(), expand_expr_divmod(), expand_expr_real(), expand_expr_real_2(), expand_expr_real_gassign(), expand_ffs(), expand_fix(), expand_float(), expand_GOACC_DIM_POS(), expand_GOACC_DIM_SIZE(), expand_GOMP_SIMT_ENTER_ALLOC(), expand_GOMP_SIMT_LANE(), expand_GOMP_SIMT_LAST_LANE(), expand_GOMP_SIMT_ORDERED_PRED(), expand_GOMP_SIMT_VOTE_ANY(), expand_GOMP_SIMT_XCHG_BFLY(), expand_GOMP_SIMT_XCHG_IDX(), expand_HWASAN_CHOOSE_TAG(), expand_HWASAN_SET_TAG(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_op_fetch_cmp_0(), expand_inc(), expand_load_lanes_optab_fn(), expand_misaligned_mem_ref(), expand_movstr(), expand_mul_overflow(), expand_mult_highpart(), expand_neg_overflow(), expand_one_cmpl_abs_nojump(), expand_operands(), expand_parity(), expand_partial_load_optab_fn(), expand_sfix_optab(), expand_shift(), expand_shift_1(), expand_simple_binop(), expand_simple_unop(), expand_SPACESHIP(), expand_speculation_safe_value(), expand_store_lanes_optab_fn(), expand_sync_lock_test_and_set(), expand_ternary_op(), expand_UADDC(), expand_ubsan_result_store(), expand_UNIQUE(), expand_unop(), expand_unop_direct(), expand_variable_shift(), expand_vec_cmp_expr(), expand_vec_cond_mask_optab_fn(), expand_vec_cond_optab_fn(), expand_vec_perm_1(), expand_vec_perm_const(), expand_vec_perm_var(), expand_vec_series_expr(), expand_vec_set_optab_fn(), expand_widen_pattern_expr(), extract_bit_field(), extract_bit_field_1(), extract_bit_field_using_extv(), extract_fixed_bit_field(), extract_fixed_bit_field_1(), extract_integral_bit_field(), force_expand_binop(), force_operand(), gen_memset_value_from_prev(), get_dynamic_stack_base(), highest_pow2_factor_for_target(), inline_expand_builtin_bytecmp(), inline_string_cmp(), maybe_emit_atomic_exchange(), maybe_emit_atomic_test_and_set(), maybe_emit_compare_and_swap_exchange_loop(), maybe_emit_op(), maybe_emit_sync_lock_test_and_set(), maybe_emit_unop_insn(), maybe_expand_shift(), maybe_legitimize_operand(), sign_expand_binop(), simplify_expand_binop(), store_constructor(), store_constructor_field(), store_expr(), store_field(), swap_commutative_operands_with_target(), target_align(), widen_bswap(), and widen_leading().

◆ type

◆ unsigned_p

unsigned int expand_operand::unsigned_p

◆ unused

unsigned int expand_operand::unused

Referenced by create_expand_operand().

◆ value

rtx expand_operand::value

Referenced by assign_call_lhs(), builtin_memset_gen_str(), categorize_ctor_elements_1(), create_expand_operand(), emit_conditional_add(), emit_conditional_move_1(), emit_conditional_neg_or_complement(), emit_cstore(), expand_assignment(), expand_atomic_compare_and_swap(), expand_atomic_load(), expand_binop(), expand_binop_directly(), expand_builtin(), expand_builtin_interclass_mathfn(), expand_builtin_strlen(), expand_cmpstr(), expand_cmpstrn_or_cmpmem(), expand_crc_optab_fn(), expand_dec(), expand_DEFERRED_INIT(), expand_expr_real_2(), expand_fix(), expand_fixed_convert(), expand_float(), expand_inc(), expand_misaligned_mem_ref(), expand_movstr(), expand_mult_highpart(), expand_strided_load_optab_fn(), expand_ternary_op(), expand_unop(), expand_unop_direct(), expand_vec_cmp_expr(), expand_vec_perm_1(), expand_vec_perm_const(), expand_vec_series_expr(), expand_vec_set_optab_fn(), expand_vector_broadcast(), expand_widen_pattern_expr(), extract_bit_field_1(), extract_bit_field_using_extv(), fold_builtin_frexp(), fold_builtin_modf(), force_operand(), lshift_value(), maybe_emit_atomic_exchange(), maybe_emit_atomic_test_and_set(), maybe_emit_op(), maybe_emit_sync_lock_test_and_set(), maybe_emit_unop_insn(), maybe_gen_insn(), maybe_legitimize_operand(), maybe_legitimize_operand_same_code(), maybe_legitimize_operands(), optimize_bitfield_assignment_op(), store_bit_field(), store_bit_field_1(), store_bit_field_using_insv(), store_constructor(), store_fixed_bit_field(), store_fixed_bit_field_1(), store_integral_bit_field(), store_split_bit_field(), and vector_compare_rtx().


The documentation for this class was generated from the following file: