GCC Middle and Back End API Reference
|
#include <value-range-storage.h>
Public Member Functions | |
vrange_allocator (bool gc=false) | |
~vrange_allocator () | |
class vrange_storage * | clone (const vrange &r) |
vrange_storage * | clone_varying (tree type) |
vrange_storage * | clone_undefined (tree type) |
void * | alloc (size_t size) |
void | free (void *) |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (vrange_allocator) | |
Private Attributes | |
class vrange_internal_alloc * | m_alloc |
Support routines for vrange storage. Copyright (C) 2022-2024 Free Software Foundation, Inc. Contributed by Aldy Hernandez <aldyh@redhat.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/>.
vrange_allocator::~vrange_allocator | ( | ) |
References m_alloc.
void * vrange_allocator::alloc | ( | size_t | size | ) |
References vrange_internal_alloc::alloc(), and m_alloc.
Referenced by infer_range_manager::get_nonzero(), sbr_vector::grow(), sbr_vector::sbr_vector(), and block_range_cache::set_bb_range().
vrange_storage * vrange_allocator::clone | ( | const vrange & | r | ) |
References vrange_storage::alloc(), m_alloc, and r.
Referenced by infer_range_manager::add_range(), gimple_outgoing_range::calc_switch_ranges(), ggc_alloc_vrange_storage(), ssa_cache::merge_range(), ssa_lazy_cache::merge_range(), sbr_sparse_bitmap::sbr_sparse_bitmap(), sbr_sparse_bitmap::set_bb_range(), sbr_vector::set_bb_range(), ssa_cache::set_range(), and ssa_lazy_cache::set_range().
vrange_storage * vrange_allocator::clone_undefined | ( | tree | type | ) |
References frange_storage::alloc(), irange_storage::alloc(), prange_storage::alloc(), m_alloc, NULL, frange::supports_p(), irange::supports_p(), and prange::supports_p().
Referenced by sbr_vector::sbr_vector().
vrange_storage * vrange_allocator::clone_varying | ( | tree | type | ) |
|
private |
void vrange_allocator::free | ( | void * | p | ) |
References vrange_internal_alloc::free(), and m_alloc.
|
private |
Referenced by alloc(), clone(), clone_undefined(), clone_varying(), free(), vrange_allocator(), and ~vrange_allocator().