GCC Middle and Back End API Reference
value-query.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "tree.h"
#include "gimple.h"
#include "ssa.h"
#include "tree-pretty-print.h"
#include "tree-ssanames.h"
#include "fold-const.h"
#include "value-query.h"
#include "alloc-pool.h"
#include "gimple-range.h"
#include "value-range-storage.h"
#include "target.h"
Include dependency graph for value-query.cc:

Functions

range_queryset_range_query (struct function *fun, range_query *q)
static void get_ssa_name_range_info (vrange &r, const_tree name)
static bool get_ssa_name_ptr_info_nonnull (const_tree name)
void gimple_range_global (vrange &r, tree name, struct function *fun)

Variables

relation_oracle default_relation_oracle
infer_range_oracle default_infer_oracle
gimple_outgoing_range default_gori
global_range_query global_ranges

Function Documentation

◆ get_ssa_name_ptr_info_nonnull()

bool get_ssa_name_ptr_info_nonnull ( const_tree name)
inlinestatic

◆ get_ssa_name_range_info()

void get_ssa_name_range_info ( vrange & r,
const_tree name )
inlinestatic

◆ gimple_range_global()

◆ set_range_query()

range_query * set_range_query ( struct function * fun,
range_query * q )
Support routines for value queries.
   Copyright (C) 2020-2026 Free Software Foundation, Inc.
   Contributed by Aldy Hernandez <aldyh@redhat.com> and
   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/>.   

References range_query::active_query_compatible_p(), get_global_range_query(), NULL, and function::x_range_query.

Referenced by disable_ranger(), enable_ranger(), execute_fast_vrp(), and fold_using_range::fold_stmt().

Variable Documentation

◆ default_gori

◆ default_infer_oracle

◆ default_relation_oracle

◆ global_ranges