GCC Middle and Back End API Reference
fur_source Class Reference

#include <gimple-range-fold.h>

Inheritance diagram for fur_source:
Collaboration diagram for fur_source:

Public Member Functions

 fur_source (range_query *q=NULL)
range_queryquery () const
gori_mapgori_ssa () const
class gimple_outgoing_rangegori ()
virtual bool get_operand (vrange &r, tree expr)
virtual bool get_phi_operand (vrange &r, tree expr, edge e)
virtual relation_kind query_relation (tree op1, tree op2)
virtual void register_relation (gimple *stmt, relation_kind k, tree op1, tree op2)
virtual void register_relation (edge e, relation_kind k, tree op1, tree op2)
void register_outgoing_edges (gcond *, irange &lhs_range, edge e0, edge e1)

Protected Attributes

range_querym_query
bool m_depend_p

Constructor & Destructor Documentation

◆ fur_source()

fur_source::fur_source ( range_query * q = NULL)
Code for GIMPLE range related routines. Copyright (C) 2019-2025 Free Software Foundation, Inc. Contributed by Andrew MacLeod <amacleod@redhat.com> and 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/>.

References cfun, get_range_query(), m_depend_p, and m_query.

Referenced by fur_edge::fur_edge(), fur_list::fur_list(), fur_list::fur_list(), fur_list::fur_list(), and fur_stmt::fur_stmt().

Member Function Documentation

◆ get_operand()

◆ get_phi_operand()

bool fur_source::get_phi_operand ( vrange & r,
tree expr,
edge e )
virtual

Reimplemented in fur_edge, fur_list, and fur_stmt.

References m_query, and r.

Referenced by fold_using_range::range_of_phi().

◆ gori()

◆ gori_ssa()

◆ query()

◆ query_relation()

relation_kind fur_source::query_relation ( tree op1,
tree op2 )
virtual

Reimplemented in fur_stmt, and jt_fur_source.

References VREL_VARYING.

Referenced by fold_using_range::range_of_range_op().

◆ register_outgoing_edges()

◆ register_relation() [1/2]

void fur_source::register_relation ( edge e,
relation_kind k,
tree op1,
tree op2 )
virtual

Reimplemented in fur_depend, fur_relation, and jt_fur_source.

◆ register_relation() [2/2]

void fur_source::register_relation ( gimple * stmt,
relation_kind k,
tree op1,
tree op2 )
virtual

Field Documentation

◆ m_depend_p

bool fur_source::m_depend_p
protected

◆ m_query


The documentation for this class was generated from the following files: