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

Go to the source code of this file.

Data Structures

class  nested_function_info
 

Functions

tree build_addr (tree)
 
void insert_field_into_struct (tree, tree)
 
void lower_nested_functions (tree)
 
void maybe_record_nested_function (cgraph_node *node)
 
void unnest_function (cgraph_node *node)
 
cgraph_nodefirst_nested_function (cgraph_node *node)
 
cgraph_nodenext_nested_function (cgraph_node *node)
 
cgraph_nodenested_function_origin (cgraph_node *node)
 

Function Documentation

◆ build_addr()

tree build_addr ( tree exp)
extern
Header file for Nested function decomposition for GIMPLE. Copyright (C) 2013-2025 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/>.
Take the address of EXP to be used within function CONTEXT. Mark it for addressability as necessary.

References build_fold_addr_expr, exp(), and mark_addressable().

Referenced by build_init_call_stmt(), convert_nl_goto_reference(), convert_tramp_reference_op(), create_call_for_reduction_1(), finalize_nesting_tree_1(), get_static_chain(), gimple_gen_ic_func_profiler(), gimple_gen_interval_profiler(), gimple_ic(), instrument_decisions(), lower_builtin_setjmp(), and take_address_of().

◆ first_nested_function()

◆ insert_field_into_struct()

◆ lower_nested_functions()

◆ maybe_record_nested_function()

◆ nested_function_origin()

cgraph_node * nested_function_origin ( cgraph_node * node)
inline
Return origin of nested function (and NULL otherwise).

References nested_function_info::get(), NULL, and nested_function_info::origin.

Referenced by cgraph_node::dump(), and unnest_function().

◆ next_nested_function()

◆ unnest_function()

void unnest_function ( cgraph_node * node)
extern