|
GCC Middle and Back End API Reference
|
#include <callback-info.h>

Public Member Functions | |
| void | stream_in (lto_input_block *ib) |
| void | stream_out (lto_simple_output_block *ib) const |
| unsigned | get_id () const |
| void | init (unsigned fn_idx, tree attr) |
Data Fields | |
| unsigned | fn_idx |
| auto_vec< int > | arg_mapping |
| bool | redirected |
| const char * | plugin_name |
| plugin_callback_func | func |
| void * | user_data |
| struct callback_info * | next |
Callback attribute summary Copyright (C) 2026 Free Software Foundation, Inc. Contributed by Josef Melcr <jmelcr@gcc.gnu.org> This file is part of GCC. GCC is free software; you can redistribute it and/or modify under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, 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/>.
Summary aggregating all information relevant to callback edges. Most of the information can be calculated from the attribute as well, but keeping it separate allows us to modify the info without touching the underlying attribute.
List node for keeping track of plugin-registered callback.
| unsigned callback_info::get_id | ( | ) | const |
Returns the id of the associated callback attribute. See the comment of the fn_idx field.
References fn_idx.
Referenced by callback_fetch_attr_by_edge().
| void callback_info::init | ( | unsigned | fn_idx, |
| tree | attr ) |
References arg_mapping, callback_get_arg_mapping_from_attr(), fn_idx, and redirected.
Referenced by cgraph_edge::make_callback().
| void callback_info::stream_in | ( | lto_input_block * | ib | ) |
Stream in callback_info.
References arg_mapping, bp_unpack_value(), fn_idx, i, redirected, streamer_read_bitpack(), streamer_read_hwi(), and streamer_read_uhwi().
Referenced by input_edge().
| void callback_info::stream_out | ( | lto_simple_output_block * | ob | ) | const |
Stream out callback_info.
References arg_mapping, bitpack_create(), bp_pack_value(), fn_idx, lto_simple_output_block::main_stream, redirected, streamer_write_bitpack(), streamer_write_hwi_stream(), and streamer_write_uhwi_stream().
Referenced by lto_output_edge().
| auto_vec<int> callback_info::arg_mapping |
Referenced by callback_info_sum_t::duplicate(), init(), ipa_compute_jump_functions_for_edge(), stream_in(), and stream_out().
| unsigned callback_info::fn_idx |
Referenced by callback_info_sum_t::duplicate(), get_id(), init(), cgraph_edge::redirect_call_stmt_to_callee(), stream_in(), and stream_out().
| plugin_callback_func callback_info::func |
Referenced by invoke_plugin_callbacks_full(), and register_callback().
| struct callback_info* callback_info::next |
Referenced by dump_active_plugins(), invoke_plugin_callbacks_full(), register_callback(), and unregister_callback().
| const char* callback_info::plugin_name |
Referenced by dump_active_plugins(), register_callback(), and unregister_callback().
| bool callback_info::redirected |
Referenced by callback_edge_useful_p(), callback_info_sum_t::duplicate(), init(), cgraph_edge::redirect_callee(), stream_in(), and stream_out().
| void* callback_info::user_data |
Referenced by invoke_plugin_callbacks_full(), and register_callback().