GCC Middle and Back End API Reference
|
#include <gimple-range-phi.h>
Public Member Functions | |
phi_group (bitmap bm, irange &init_range, gimple *mod, range_query *q) | |
phi_group (const phi_group &g) | |
const_bitmap | group () const |
const vrange & | range () const |
gimple * | modifier_stmt () const |
void | dump (FILE *) |
Protected Member Functions | |
bool | calculate_using_modifier (range_query *q) |
bool | refine_using_relation (relation_kind k) |
Static Protected Member Functions | |
static unsigned | is_modifier_p (gimple *s, const bitmap bm) |
Protected Attributes | |
bitmap | m_group |
gimple * | m_modifier |
unsigned | m_modifier_op |
int_range_max | m_vr |
Friends | |
class | phi_analyzer |
Header file for gimple range phi analysis. Copyright (C) 2023-2024 Free Software Foundation, Inc. Contributed by Andrew MacLeod <amacleod@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/>.
phi_group::phi_group | ( | bitmap | bm, |
irange & | init_range, | ||
gimple * | mod, | ||
range_query * | q ) |
phi_group::phi_group | ( | const phi_group & | g | ) |
References g, m_group, m_modifier, m_modifier_op, and m_vr.
|
protected |
References fold_relations(), relation_trio::lhs_op1(), relation_trio::lhs_op2(), m_modifier, m_modifier_op, m_vr, refine_using_relation(), irange::union_(), vrange::varying_p(), and VREL_VARYING.
Referenced by phi_group().
void phi_group::dump | ( | FILE * | f | ) |
References vrange::dump(), EXECUTE_IF_SET_IN_BITMAP, fputc(), i, m_group, m_modifier, m_vr, print_generic_expr(), print_gimple_stmt(), ssa_name, and TDF_SLIM.
|
inline |
References m_group.
References bitmap_bit_p, gimple_range_ssa_p(), gimple_range_op_handler::operand1(), gimple_range_op_handler::operand2(), and SSA_NAME_VERSION.
Referenced by phi_group(), and phi_analyzer::process_phi().
|
inline |
References m_modifier.
|
inline |
References m_vr.
Referenced by phi_analyzer::process_phi().
|
protected |
References irange::lower_bound(), m_vr, irange::set(), irange::set_varying(), irange::type(), TYPE_OVERFLOW_WRAPS, irange::upper_bound(), VREL_EQ, VREL_GE, VREL_GT, VREL_LE, VREL_LT, and VREL_VARYING.
Referenced by calculate_using_modifier().
|
friend |
|
protected |
Referenced by dump(), group(), phi_group(), and phi_group().
|
protected |
Referenced by calculate_using_modifier(), dump(), modifier_stmt(), phi_group(), and phi_group().
|
protected |
Referenced by calculate_using_modifier(), phi_group(), and phi_group().
|
protected |
Referenced by calculate_using_modifier(), dump(), phi_group(), phi_group(), range(), and refine_using_relation().