|
GCC Middle and Back End API Reference
|
#include <inlining-iterator.h>
Public Member Functions | |
| inlining_iterator (location_t loc) | |
| bool | done_p () const |
| void | next () |
| tree | get_fndecl () const |
| location_t | get_callsite () const |
| tree | get_block () const |
Private Member Functions | |
| void | prepare_iteration () |
Private Attributes | |
| tree | m_abstract_origin |
| location_t | m_callsite |
| tree | m_fndecl |
| tree | m_next_abstract_origin |
Iterator for walking a chain of inlining locations. Copyright (C) 2022-2025 Free Software Foundation, Inc. Contributed by David Malcolm <dmalcolm@redhat.com>. 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/>.
Iterator for walking a chain of inlining locations.
The fndecls and locations will be traversed from innermost to outermost.
For example, given:
inline void inner (void)
{
...LOCATION HERE...
}
void outer (void)
{
inner (); <-- CALLSITE
}
then the fndecl will be "inner" on the initial iteration, and "outer" on
the second (final) iteration.
Compare with lhd_print_error_function, cp_print_error_function,
and optrecord_json_writer::inlining_chain_to_json.
|
inline |
References LOCATION_BLOCK, m_abstract_origin, m_callsite, m_fndecl, m_next_abstract_origin, NULL, NULL_TREE, prepare_iteration(), and UNKNOWN_LOCATION.
|
inline |
References m_abstract_origin, and NULL.
Referenced by inlining_info::inlining_info(), and prepare_iteration().
|
inline |
References m_abstract_origin.
|
inline |
References m_callsite.
|
inline |
References m_fndecl.
Referenced by inlining_info::inlining_info().
|
inline |
References m_abstract_origin, m_next_abstract_origin, and prepare_iteration().
Referenced by inlining_info::inlining_info().
|
inlineprivate |
References BLOCK_ABSTRACT_ORIGIN, BLOCK_SOURCE_LOCATION, BLOCK_SUPERCONTEXT, done_p(), m_abstract_origin, m_callsite, m_fndecl, m_next_abstract_origin, NULL, NULL_TREE, and TREE_CODE.
Referenced by inlining_iterator(), and next().
|
private |
Referenced by done_p(), get_block(), inlining_iterator(), next(), and prepare_iteration().
|
private |
Referenced by get_callsite(), inlining_iterator(), and prepare_iteration().
|
private |
Referenced by get_fndecl(), inlining_iterator(), and prepare_iteration().
|
private |
Referenced by inlining_iterator(), next(), and prepare_iteration().