GCC Middle and Back End API Reference
|
#include <ifcvt.h>
Data Fields | |
basic_block | test_bb |
basic_block | then_bb |
basic_block | else_bb |
basic_block | join_bb |
rtx_insn * | jump |
rtx | cond |
rtx | rev_cond |
rtx_insn * | cond_earliest |
rtx_insn * | insn_a |
rtx_insn * | insn_b |
rtx | a |
rtx | b |
rtx | x |
rtx | orig_x |
bool | then_else_reversed |
bool | cond_inverted |
bool | then_simple |
bool | else_simple |
bool | speed_p |
unsigned int | original_cost |
unsigned int | max_seq_cost |
const char * | transform_name |
Used by noce_process_if_block to communicate with its subroutines. The subroutines know that A and B may be evaluated freely. They know that X is a register. They should insert new instructions before cond_earliest.
rtx noce_if_info::a |
Referenced by end_ifcvt_sequence(), noce_bbs_ok_for_cond_zero_arith(), noce_get_alt_condition(), noce_process_if_block(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_constants(), and noce_try_store_flag_mask().
rtx noce_if_info::b |
Referenced by end_ifcvt_sequence(), noce_bbs_ok_for_cond_zero_arith(), noce_get_alt_condition(), noce_process_if_block(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_constants(), and noce_try_store_flag_mask().
rtx noce_if_info::cond |
Referenced by cond_move_process_if_block(), dead_or_predicable(), end_ifcvt_sequence(), find_cond_trap(), noce_bbs_ok_for_cond_zero_arith(), noce_emit_cmove(), noce_emit_czero(), noce_emit_store_flag(), noce_find_if_block(), noce_get_alt_condition(), noce_process_if_block(), noce_reversed_cond_code(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), and noce_try_sign_mask().
rtx_insn* noce_if_info::cond_earliest |
bool noce_if_info::cond_inverted |
Referenced by cond_move_convert_if_block(), and noce_find_if_block().
basic_block noce_if_info::else_bb |
bool noce_if_info::else_simple |
Referenced by noce_process_if_block(), noce_simple_bbs(), and noce_try_cmove_arith().
rtx_insn* noce_if_info::insn_a |
Referenced by noce_process_if_block(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_cond_zero_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_constants(), and noce_try_store_flag_mask().
rtx_insn * noce_if_info::insn_b |
Referenced by noce_process_if_block(), noce_try_cmove_arith(), and noce_try_sign_mask().
basic_block noce_if_info::join_bb |
rtx_insn* noce_if_info::jump |
Referenced by cond_move_process_if_block(), dead_or_predicable(), find_cond_trap(), find_if_case_1(), noce_convert_multiple_sets(), noce_convert_multiple_sets_1(), noce_emit_cmove(), noce_emit_store_flag(), noce_find_if_block(), noce_get_alt_condition(), noce_process_if_block(), noce_reversed_cond_code(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_cond_zero_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_constants(), and noce_try_store_flag_mask().
unsigned int noce_if_info::max_seq_cost |
Referenced by default_noce_conversion_profitable_p(), and noce_find_if_block().
rtx noce_if_info::orig_x |
Referenced by noce_process_if_block(), and noce_try_cmove_arith().
unsigned int noce_if_info::original_cost |
Referenced by noce_find_if_block(), and noce_process_if_block().
rtx noce_if_info::rev_cond |
bool noce_if_info::speed_p |
Referenced by default_noce_conversion_profitable_p(), noce_find_if_block(), noce_try_sign_mask(), and try_emit_cmove_seq().
basic_block noce_if_info::test_bb |
basic_block noce_if_info::then_bb |
bool noce_if_info::then_else_reversed |
bool noce_if_info::then_simple |
Referenced by noce_process_if_block(), noce_simple_bbs(), and noce_try_cmove_arith().
const char* noce_if_info::transform_name |
Referenced by noce_convert_multiple_sets(), noce_process_if_block(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_cond_zero_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_constants(), and noce_try_store_flag_mask().
rtx noce_if_info::x |
Referenced by end_ifcvt_sequence(), find_cond_trap(), noce_get_alt_condition(), noce_process_if_block(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_cond_zero_arith(), noce_try_ifelse_collapse(), noce_try_inverse_constants(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_constants(), and noce_try_store_flag_mask().