GCC Middle and Back End API Reference
|
#include <pointer-query.h>
Public Member Functions | |
ssa_name_limit_t () | |
bool | visit_phi (tree) |
void | leave_phi (tree) |
bool | next () |
int | next_phi (tree) |
~ssa_name_limit_t () | |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (ssa_name_limit_t) | |
Private Attributes | |
bitmap | visited |
unsigned | ssa_def_max |
Definitions of the pointer_query and related classes. Copyright (C) 2020-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/>.
Describes recursion limits used by functions that follow use-def chains of SSA_NAMEs.
|
inline |
ssa_name_limit_t::~ssa_name_limit_t | ( | ) |
References BITMAP_FREE, and visited.
|
private |
void ssa_name_limit_t::leave_phi | ( | tree | ssa_name | ) |
Clear a bit for the PHI in VISITED.
References bitmap_clear_bit(), ssa_name, SSA_NAME_VERSION, and visited.
Referenced by access_ref::get_ref().
bool ssa_name_limit_t::next | ( | ) |
Return false if the SSA_NAME chain length counter has reached the limit, otherwise increment the counter and return true.
References ssa_def_max.
Referenced by handle_ssa_name().
int ssa_name_limit_t::next_phi | ( | tree | ssa_name | ) |
If the SSA_NAME has already been "seen" return a positive value. Otherwise add it to VISITED. If the SSA_NAME limit has been reached, return a negative value. Otherwise return zero.
References ssa_def_max, ssa_name, SSA_NAME_DEF_STMT, and visit_phi().
Referenced by strlen_pass::count_nonzero_bytes(), and strlen_pass::count_nonzero_bytes_addr().
Set a bit for the PHI in VISITED and return true if it wasn't already set.
References BITMAP_ALLOC, bitmap_set_bit, NULL, ssa_name, SSA_NAME_VERSION, and visited.
Referenced by access_ref::get_ref(), and next_phi().
|
private |
Referenced by next(), and next_phi().
|
private |
Referenced by leave_phi(), visit_phi(), and ~ssa_name_limit_t().