|
GCC Middle and Back End API Reference
|
#include "config.h"#include "system.h"#include "coretypes.h"#include "backend.h"#include "target.h"#include "rtl.h"#include "tree.h"#include "gimple.h"#include "timevar.h"#include "cgraph.h"#include "lto-streamer.h"#include "print-tree.h"#include "varasm.h"#include "langhooks.h"#include "output.h"#include "ipa-utils.h"#include "calls.h"#include "stringpool.h"#include "attribs.h"#include "builtins.h"#include "fold-const.h"
Macros | |
| #define | EXTRA 16 |
Functions | |
| static tree | ultimate_transparent_alias_target (tree alias) |
| static section_hash_entry * | retain_section_hash_entry (section_hash_entry *entry) |
| static void | release_section_hash_entry (section_hash_entry *entry) |
| static bool | check_ifunc_resolver (cgraph_node *node, void *data) |
| static bool | is_caller_ifunc_resolver (cgraph_node *node) |
| static bool | address_matters_1 (symtab_node *n, void *) |
| static bool | increase_alignment_1 (symtab_node *n, void *v) |
| static bool | get_alignment_1 (symtab_node *n, void *v) |
Variables | |
| static const char * | ipa_ref_use_name [] = {"read","write","addr","alias"} |
| const char *const | ld_plugin_symbol_resolution_names [] |
| static const char *const | toplevel_type_names [] |
| static bitmap | ifunc_ref_map |
| #define EXTRA 16 |
Referenced by symtab_node::get_dump_name().
|
static |
Return true if address of N is possibly compared.
References ipa_ref::address_matters_p(), and i.
Referenced by symtab_node::address_matters_p().
|
static |
Return true and set *DATA to true if NODE is an ifunc resolver.
Referenced by symtab_node::check_ifunc_callee_symtab_nodes(), and is_caller_ifunc_resolver().
|
static |
Helper for symtab_node::definition_alignment.
References DECL_ALIGN, and MAX.
Referenced by symtab_node::definition_alignment().
|
static |
Worker for symtab_node::increase_alignment.
References DECL_ALIGN, DECL_USER_ALIGN, and SET_DECL_ALIGN.
Referenced by symtab_node::increase_alignment().
|
static |
Return true if any caller of NODE is an ifunc resolver.
References bitmap_set_bit, check_ifunc_resolver(), ifunc_ref_map, and is_caller_ifunc_resolver().
Referenced by symtab_node::check_ifunc_callee_symtab_nodes(), and is_caller_ifunc_resolver().
|
static |
Drop the reference count on ENTRY and remove it if the reference count drops to zero.
References ggc_free(), section_hash_entry::name, section_hash_entry::ref_count, and symtab.
Referenced by symtab_node::set_section_for_node(), and symtab_node::set_section_for_node().
|
static |
Bump the reference count on ENTRY so that it is retained.
References section_hash_entry::ref_count.
Referenced by symtab_node::set_section_for_node(), and symtab_node::set_section_for_node().
Follow the IDENTIFIER_TRANSPARENT_ALIAS chain starting at ALIAS until we find an identifier that is not itself a transparent alias.
References gcc_checking_assert, IDENTIFIER_TRANSPARENT_ALIAS, and TREE_CHAIN.
Referenced by symbol_table::change_decl_assembler_name(), do_assemble_alias(), globalize_decl(), symtab_node::verify_base(), and weak_finish().
|
static |
Referenced by symtab_node::check_ifunc_callee_symtab_nodes(), and is_caller_ifunc_resolver().
|
static |
Symbol table. Copyright (C) 2012-2025 Free Software Foundation, Inc. Contributed by Jan Hubicka 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/>.
Referenced by symtab_node::dump_references(), and symtab_node::dump_referring().
| const char* const ld_plugin_symbol_resolution_names[] |
Referenced by symtab_node::dump_base().
|
static |
Referenced by symtab_node::dump_base(), and symtab_node::get_symtab_type_string().