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-2024 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.

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, r, and range_query::range_on_edge().

Referenced by fold_using_range::range_of_phi().

◆ gori()

◆ gori_ssa()

◆ query()

range_query * fur_source::query ( ) const
inline

◆ 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: