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 | symtab_type_names [] = {"symbol", "function", "variable"} |
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 symtab_node::address_can_be_compared_p(), ipa_ref::address_matters_p(), symtab_node::externally_visible, symtab_node::force_output, i, and symtab_node::iterate_referring().
Referenced by symtab_node::address_matters_p().
|
static |
Return true and set *DATA to true if NODE is an ifunc resolver.
References symtab_node::ifunc_resolver.
Referenced by symtab_node::check_ifunc_callee_symtab_nodes(), and is_caller_ifunc_resolver().
|
static |
Helper for symtab_node::definition_alignment.
References symtab_node::decl, DECL_ALIGN, and MAX.
Referenced by symtab_node::definition_alignment().
|
static |
Worker for symtab_node::increase_alignment.
References symtab_node::can_increase_alignment_p(), symtab_node::decl, 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, cgraph_node::callers, check_ifunc_resolver(), ifunc_ref_map, is_caller_ifunc_resolver(), and cgraph_edge::next_caller.
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().