GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
void | phinodes_print_statistics (void) |
void | release_phi_node (gimple) |
void | reserve_phi_args_for_new_edge (basic_block) |
void | add_phi_node_to_bb (gimple phi, basic_block bb) |
gimple | create_phi_node (tree, basic_block) |
void | add_phi_arg (gimple, tree, edge, source_location) |
void | remove_phi_args (edge) |
void | remove_phi_node (gimple_stmt_iterator *, bool) |
void | remove_phi_nodes (basic_block) |
tree | degenerate_phi_result (gimple) |
static void | set_phi_nodes () |
static use_operand_p | gimple_phi_arg_imm_use_ptr () |
static int | phi_arg_index_from_use () |
void add_phi_node_to_bb | ( | gimple | phi, |
basic_block | bb | ||
) |
gimple create_phi_node | ( | tree | , |
basic_block | |||
) |
|
inlinestatic |
|
inlinestatic |
Return the phi argument which contains the specified use.
Since the use is the first thing in a PHI argument element, we can calculate its index based on casting it to an argument, and performing pointer arithmetic.
Make sure the calculation doesn't have any leftover bytes. If it does, then imm_use is likely not the first element in phi_arg_d.
void phinodes_print_statistics | ( | void | ) |
Dump some simple statistics regarding the re-use of PHI nodes.
void release_phi_node | ( | gimple | ) |
void remove_phi_args | ( | edge | ) |
void remove_phi_node | ( | gimple_stmt_iterator * | , |
bool | |||
) |
void remove_phi_nodes | ( | basic_block | ) |
void reserve_phi_args_for_new_edge | ( | basic_block | ) |
|
inlinestatic |
Set PHI nodes of a basic block BB to SEQ.
Referenced by remove_phi_args().