GCC Middle and Back End API Reference
ggc-none.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "hash-table.h"
Include dependency graph for ggc-none.cc:

Functions

size_t ggc_round_alloc_size (size_t requested_size)
 
voidggc_internal_alloc (size_t size, void(*f)(void *), size_t, size_t MEM_STAT_DECL)
 
voidggc_internal_cleared_alloc (size_t size, void(*f)(void *), size_t, size_t MEM_STAT_DECL)
 
voidggc_realloc_stat (void *x, size_t size MEM_STAT_DECL)
 
void ggc_free (void *p)
 
void ggc_grow (void)
 
void ggc_trim (void)
 

Function Documentation

◆ ggc_free()

void ggc_free ( void * p)
Free a block.  To be used when known for certain it's not reachable.   

References free().

◆ ggc_grow()

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().

◆ ggc_internal_alloc()

◆ ggc_internal_cleared_alloc()

void * ggc_internal_cleared_alloc ( size_t size,
void(*)(void *) f,
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-2024 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, and ggc_alloc().

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().

◆ ggc_realloc_stat()

void * ggc_realloc_stat ( void * x,
size_t size MEM_STAT_DECL )

References ggc_alloc().

◆ ggc_round_alloc_size()

size_t ggc_round_alloc_size ( size_t requested_size)
Null garbage collection for the GNU compiler.
Copyright (C) 1998-2024 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.   

References ggc_alloc().

Referenced by general_init().

◆ ggc_trim()

void ggc_trim ( void )
Return unused memory pages to the system.   

Referenced by ipa_free_fn_summary().