GCC Middle and Back End API Reference
cfgexpand.h File Reference
This graph shows which files directly or indirectly include this file:

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)
 

Function Documentation

◆ estimated_stack_frame_size()

HOST_WIDE_INT estimated_stack_frame_size ( struct cgraph_node * node)
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().

◆ gimple_assign_rhs_to_tree()

tree gimple_assign_rhs_to_tree ( gimple * stmt)
extern
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().

◆ set_parm_rtl()