GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | use_optype_d |
struct | ssa_operand_memory_d |
struct | ssa_operands |
Typedefs | |
typedef tree * | def_operand_p |
typedef ssa_use_operand_t * | use_operand_p |
typedef struct use_optype_d * | use_optype_p |
Functions | |
bool | ssa_operands_active (struct function *) |
void | init_ssa_operands (struct function *fn) |
void | fini_ssa_operands (void) |
bool | verify_ssa_operands (gimple stmt) |
void | free_stmt_operands (gimple) |
void | update_stmt_operands (gimple) |
void | swap_ssa_operands (gimple, tree *, tree *) |
bool | verify_imm_links (FILE *f, tree var) |
void | dump_immediate_uses_for (FILE *file, tree var) |
void | dump_immediate_uses (FILE *file) |
void | debug_immediate_uses (void) |
void | debug_immediate_uses_for (tree var) |
void | unlink_stmt_vdef (gimple) |
static tree | get_use_from_ptr () |
static tree | get_def_from_ptr () |
#define DEF_FROM_PTR | ( | PTR | ) | get_def_from_ptr (PTR) |
#define NULL_DEF_OPERAND_P ((def_operand_p)NULL) |
Referenced by gimple_vuse_op(), and num_ssa_operands().
#define NULL_USE_OPERAND_P ((use_operand_p)NULL) |
NULL operand types.
Referenced by end_imm_use_stmt_traverse(), gimple_in_ssa_p(), has_zero_uses(), op_iter_init_phidef(), and single_ssa_def_operand().
#define PHI_ARG_DEF | ( | PHI, | |
I | |||
) | gimple_phi_arg_def ((PHI), (I)) |
#define PHI_ARG_DEF_FROM_EDGE | ( | PHI, | |
E | |||
) | PHI_ARG_DEF ((PHI), (E)->dest_idx) |
Referenced by alloc_iv(), build_new_reduction(), create_parallel_loop(), find_subloop_latch_edge_by_profile(), find_uses_to_rename_stmt(), get_iv(), independent_of_stmt_p(), same_phi_args_p(), scev_finalize(), transform_to_exit_first_loop(), vect_can_advance_ivs_p(), vect_create_cond_for_alias_checks(), and vect_slp_analyze_bb().
#define PHI_ARG_DEF_PTR | ( | PHI, | |
I | |||
) | gimple_phi_arg_imm_use_ptr ((PHI), (I)) |
#define PHI_ARG_DEF_PTR_FROM_EDGE | ( | PHI, | |
E | |||
) | PHI_ARG_DEF_PTR ((PHI), (E)->dest_idx) |
Referenced by maybe_register_def(), and verify_loop_closed_ssa().
#define PHI_ARG_INDEX_FROM_USE | ( | USE | ) | phi_arg_index_from_use (USE) |
Referenced by group_case_labels(), is_use_properly_guarded(), loe_visit_block(), and maybe_register_def().
#define PHI_RESULT | ( | PHI | ) | DEF_FROM_PTR (PHI_RESULT_PTR (PHI)) |
Referenced by alloc_iv(), attempt_coalesce(), create_loop_fn(), create_phi_for_local_result(), determine_unroll_factor(), get_iv(), initialize_root_vars_lm(), live_track_clear_base_vars(), mark_phi_for_rewrite(), scev_finalize(), scev_reset(), stmt_kills_ref_p_1(), vect_can_advance_ivs_p(), vect_create_cond_for_alias_checks(), and zero_ssa_operands().
#define PHI_RESULT_PTR | ( | PHI | ) | gimple_phi_result_ptr (PHI) |
#define SET_DEF | ( | DEF, | |
V | |||
) | ((*(DEF)) = (V)) |
Referenced by debug_tree_ssa_stats().
#define SET_PHI_ARG_DEF | ( | PHI, | |
I, | |||
V | |||
) | SET_USE (PHI_ARG_DEF_PTR ((PHI), (I)), (V)) |
Referenced by uncprop_into_successor_phis(), value_replacement(), and vect_create_epilog_for_reduction().
#define SET_PHI_RESULT | ( | PHI, | |
V | |||
) | SET_DEF (PHI_RESULT_PTR (PHI), (V)) |
Referenced by create_loop_fn().
#define SET_USE | ( | USE, | |
V | |||
) | set_ssa_use_from_ptr (USE, V) |
#define USE_FROM_PTR | ( | PTR | ) | get_use_from_ptr (PTR) |
#define USE_OP | ( | OP | ) | (USE_FROM_PTR (USE_OP_PTR (OP))) |
Referenced by op_iter_next_use().
#define USE_OP_PTR | ( | OP | ) | (&((OP)->use_ptr)) |
Referenced by finalize_ssa_uses().
#define USE_STMT | ( | USE | ) | (USE)->loc.stmt |
Referenced by all_immediate_uses_same_place(), avoid_complex_debug_insns(), check_forbidden_calls(), dump_immediate_uses_for(), find_released_ssa_name(), gather_scalar_reductions(), has_zero_uses(), initialize_root_vars_lm(), ipa_analyze_call_uses(), is_use_properly_guarded(), loe_visit_block(), next_readonly_imm_use(), op_iter_init_phidef(), remove_ssa_form(), and vect_mark_relevant().
typedef tree* def_operand_p |
SSA operand management for trees. Copyright (C) 2003-2013 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/. Interface to SSA operands. This represents a pointer to a DEF operand.
typedef ssa_use_operand_t* use_operand_p |
This represents a pointer to a USE operand.
typedef struct use_optype_d* use_optype_p |
void debug_immediate_uses | ( | void | ) |
Dump def-use edges on stderr.
void debug_immediate_uses_for | ( | tree | var | ) |
void dump_immediate_uses | ( | FILE * | file | ) |
void dump_immediate_uses_for | ( | FILE * | file, |
tree | var | ||
) |
void fini_ssa_operands | ( | void | ) |
Dispose of anything required by the operand routines.
Referenced by execute_init_datastructures().
void free_stmt_operands | ( | gimple | ) |
|
inlinestatic |
Return the tree pointed-to by DEF.
|
inlinestatic |
Return the tree pointed-to by USE.
void init_ssa_operands | ( | struct function * | fn | ) |
void unlink_stmt_vdef | ( | gimple | ) |
void update_stmt_operands | ( | gimple | ) |