GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
tree | gimple_assign_rhs_to_tree (gimple *) |
HOST_WIDE_INT | estimated_stack_frame_size (struct cgraph_node *) |
void | set_parm_rtl (tree, rtx) |
|
extern |
Make a fair guess for the size of the stack frame of the function in NODE. This doesn't have to be exact, the result is only used in the inline heuristics. So we don't want to run the full stack var packing algorithm (which is quadratic in the number of stack vars). Instead, we calculate the total size of all stack vars. This turns out to be a pretty fair estimate -- packing of stack vars doesn't happen very often.
References account_stack_vars(), auto_var_in_fn_p(), function::decl, symtab_node::decl, DECL_STRUCT_FUNCTION, estimated_poly_value(), expand_one_var(), fini_vars_expansion(), FOR_EACH_LOCAL_DECL, i, init_vars_expansion(), pop_cfun(), push_cfun(), stack_vars_num, and stack_vars_sorted.
Referenced by compute_fn_summary().
Header file for lowering trees to RTL. Copyright (C) 2013-2024 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/>.
Return an expression tree corresponding to the RHS of GIMPLE statement STMT.
References build1(), build2(), build3(), CAN_HAVE_LOCATION_P, copy_node(), currently_expanding_to_rtl, EXPR_LOCATION, EXPR_P, gcc_unreachable, gimple_assign_lhs(), gimple_assign_rhs1(), gimple_assign_rhs2(), gimple_assign_rhs3(), gimple_assign_rhs_class(), gimple_assign_rhs_code(), GIMPLE_BINARY_RHS, gimple_block(), gimple_has_location(), gimple_location(), GIMPLE_SINGLE_RHS, GIMPLE_TERNARY_RHS, GIMPLE_UNARY_RHS, SET_EXPR_LOCATION, and TREE_TYPE.
Referenced by expand_debug_expr(), expand_gimple_basic_block(), insert_debug_temp_for_var_def(), and ipa_param_body_adjustments::prepare_debug_expressions().
Record the RTL assignment X for the default def of PARM.
References bitmap_bit_p, cfun, changed, DECL_RTL, gcc_assert, GET_MODE_ALIGNMENT, ssaexpand::map, MAX_SUPPORTED_STACK_ALIGNMENT, MEM_P, MINIMUM_ALIGNMENT, NO_PARTITION, ssaexpand::partitions_for_parm_default_defs, record_alignment_for_reg_var(), SA, set_rtl(), ssa_default_def(), TREE_CODE, TREE_TYPE, TYPE_ALIGN, TYPE_MODE, and var_to_partition().
Referenced by assign_parm_setup_block(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms(), assign_parms_unsplit_complex(), and expand_function_start().