|
GCC Middle and Back End API Reference
|

Data Fields | |
| basic_block | test_bb |
| basic_block | then_bb |
| basic_block | else_bb |
| basic_block | join_bb |
| rtx | jump |
| rtx | cond |
| rtx | cond_earliest |
| rtx | insn_a |
| rtx | insn_b |
| rtx | a |
| rtx | b |
| rtx | x |
| bool | then_else_reversed |
| int | branch_cost |
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 |
The SET_SRC of INSN_A and INSN_B.
Referenced by end_ifcvt_sequence(), and noce_try_addcc().
| rtx noce_if_info::b |
Referenced by end_ifcvt_sequence(), and noce_try_addcc().
| int noce_if_info::branch_cost |
Estimated cost of the particular branch instruction.
Referenced by noce_try_addcc().
| rtx noce_if_info::cond |
The jump condition.
Referenced by cond_exec_find_if_block(), end_ifcvt_sequence(), and noce_try_addcc().
| rtx noce_if_info::cond_earliest |
New insns should be inserted before this one.
Referenced by cond_exec_find_if_block().
| basic_block noce_if_info::else_bb |
Referenced by cond_exec_find_if_block().
| rtx noce_if_info::insn_a |
Insns in the THEN and ELSE block. There is always just this
one insns in those blocks. The insns are single_set insns.
If there was no ELSE block, INSN_B is the last insn before
COND_EARLIEST, or NULL_RTX. In the former case, the insn
operands are still valid, as if INSN_B was moved down below
the jump.
Referenced by noce_try_addcc().
| rtx noce_if_info::insn_b |
| basic_block noce_if_info::join_bb |
| rtx noce_if_info::jump |
The jump that ends TEST_BB.
Referenced by cond_exec_find_if_block(), end_ifcvt_sequence(), and noce_try_addcc().
| basic_block noce_if_info::test_bb |
The basic blocks that make up the IF-THEN-{ELSE-,}JOIN block.
| basic_block noce_if_info::then_bb |
Referenced by cond_exec_find_if_block().
| bool noce_if_info::then_else_reversed |
True if this if block is not canonical. In the canonical form of
if blocks, the THEN_BB is the block reached via the fallthru edge
from TEST_BB. For the noce transformations, we allow the symmetric
form as well.
| rtx noce_if_info::x |
The SET_DEST of INSN_A.
Referenced by end_ifcvt_sequence(), noce_try_addcc(), and noce_try_store_flag_constants().