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.


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)
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)
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

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
 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
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()