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-2024 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 prepare_iteration().
|
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, and TREE_CODE.
Referenced by inlining_iterator(), and next().
|
private |
Referenced by done_p(), get_block(), next(), and prepare_iteration().
|
private |
Referenced by get_callsite(), and prepare_iteration().
|
private |
Referenced by get_fndecl(), and prepare_iteration().
|
private |
Referenced by next(), and prepare_iteration().