GCC Middle and Back End API Reference
value_range_d Struct Reference
Collaboration diagram for value_range_d:

Data Fields

enum value_range_type type
tree min
tree max
bitmap equiv

Detailed Description


Support routines for Value Range Propagation (VRP). Copyright (C) 2005-2013 Free Software Foundation, Inc. Contributed by Diego Novillo dnovi.nosp@m.llo@.nosp@m.redha.nosp@m.t.co.nosp@m.m.

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

   Range of values that can be associated with an SSA_NAME after VRP
   has executed.  

Field Documentation

bitmap value_range_d::equiv
     Set of SSA names whose value ranges are equivalent to this one.
     This set is only valid when TYPE is VR_RANGE or VR_ANTI_RANGE.  

Referenced by copy_value_range(), extract_range_from_comparison(), and vrp_operand_equal_p().

tree value_range_d::min
     Minimum and maximum values represented by this range.  These
     values should be interpreted as follows:

        - If TYPE is VR_UNDEFINED or VR_VARYING then MIN and MAX must
          be NULL.

        - If TYPE == VR_RANGE then MIN holds the minimum value and
          MAX holds the maximum value of the range [MIN, MAX].

        - If TYPE == ANTI_RANGE the variable is known to NOT
          take any values in the range [MIN, MAX].  

Referenced by add_equivalence(), compare_names(), extract_range_from_comparison(), quad_int_pair_sort(), range_fits_type_p(), update_value_range(), value_inside_range(), vrp_bitmap_equal_p(), vrp_int_const_binop(), and vrp_meet_1().

The documentation for this struct was generated from the following file: