GCC Middle and Back End API Reference
|
Functions | |
size_t | ggc_round_alloc_size (size_t requested_size) |
void * | ggc_internal_alloc (size_t size, void(*f)(void *), size_t, size_t MEM_STAT_DECL) |
void * | ggc_internal_cleared_alloc (size_t size, void(*f)(void *), size_t, size_t MEM_STAT_DECL) |
void * | ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL) |
void | ggc_free (void *p) |
void | ggc_grow (void) |
void | ggc_trim (void) |
void ggc_free | ( | void * | p | ) |
Free a block. To be used when known for certain it's not reachable.
References free().
void ggc_grow | ( | void | ) |
Assume that all GGC memory is reachable and grow the limits for next collection.
Referenced by ipa_read_optimization_summaries_1(), and ipa_read_summaries_1().
void * ggc_internal_alloc | ( | size_t | size, |
void(* | f )(void *), | ||
size_t | , | ||
size_t | CXX_MEM_STAT_INFO ) |
Allocation.
The internal primitive.
References gcc_assert.
Referenced by vrange_ggc_alloc::alloc(), alloc_dw_wide_int(), call_summary_base< T >::allocate_new(), function_summary_base< T >::allocate_new(), allocate_phi_node(), build_omp_clause(), build_string(), create_block_symbol(), function_reader::extra_parsing_for_operand_code_0(), ggc_alloc(), ggc_alloc_atomic(), ggc_alloc_no_dtor(), ggc_alloc_rtx_def_stat(), ggc_alloc_tree_node_stat(), ggc_internal_alloc(), ggc_internal_cleared_alloc(), ggc_realloc(), ggc_splay_alloc(), ggc_vec_alloc(), and ssa_operand_alloc().
void * ggc_internal_cleared_alloc | ( | size_t | size, |
void(* | f )(void *), | ||
size_t | , | ||
size_t | MEM_STAT_DECL ) |
Allocates cleared memory.
Generate pattern matching and transform code shared between GENERIC and GIMPLE folding code from match-and-simplify description. Copyright (C) 2014-2025 Free Software Foundation, Inc. Contributed by Richard Biener <rguenther@suse.de> and Prathamesh Kulkarni <bilbotheelffriend@gmail.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/>.
Stubs for GGC referenced through instantiations triggered by hash-map.
References gcc_assert.
Referenced by ggc_alloc_cleared_gimple_statement_stat(), ggc_alloc_cleared_tree_node_stat(), ggc_cleared_alloc(), ggc_cleared_vec_alloc(), and ggc_internal_cleared_alloc().
void * ggc_realloc_stat | ( | void * | x, |
size_t size | MEM_STAT_DECL ) |
size_t ggc_round_alloc_size | ( | size_t | requested_size | ) |
Null garbage collection for the GNU compiler. Copyright (C) 1998-2025 Free Software Foundation, Inc. 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/>.
This version is used by the gen* programs and certain language-specific targets (such as java), where we don't really need GC at all. This prevents problems with pulling in all the tree stuff.
For a given size of memory requested for allocation, return the actual size that is going to be allocated.
Referenced by general_init().
void ggc_trim | ( | void | ) |
Return unused memory pages to the system.
Referenced by ipa_free_fn_summary().