GCC Middle and Back End API Reference
ipa-predicate.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "tree.h"
#include "cgraph.h"
#include "tree-vrp.h"
#include "alloc-pool.h"
#include "symbol-summary.h"
#include "sreal.h"
#include "ipa-cp.h"
#include "ipa-prop.h"
#include "ipa-fnsummary.h"
#include "real.h"
#include "fold-const.h"
#include "tree-pretty-print.h"
#include "gimple.h"
#include "gimplify.h"
#include "data-streamer.h"
Include dependency graph for ipa-predicate.cc:

Functions

static bool expr_eval_ops_equal_p (expr_eval_ops ops1, expr_eval_ops ops2)
 
void dump_condition (FILE *f, conditions conditions, int cond)
 
static void dump_clause (FILE *f, conditions conds, clause_t clause)
 
ipa_predicate add_condition (class ipa_fn_summary *summary, class ipa_node_params *params_summary, int operand_num, tree type, struct agg_position_info *aggpos, enum tree_code code, tree val, expr_eval_ops param_ops)
 

Function Documentation

◆ add_condition()

◆ dump_clause()

static void dump_clause ( FILE * f,
conditions conds,
clause_t clause )
static
Dump clause CLAUSE.   

References dump_condition(), ggc_alloc(), i, and ipa_predicate::num_conditions.

Referenced by ipa_predicate::dump().

◆ dump_condition()

◆ expr_eval_ops_equal_p()

static bool expr_eval_ops_equal_p ( expr_eval_ops ops1,
expr_eval_ops ops2 )
static
IPA predicates.
   Copyright (C) 2003-2024 Free Software Foundation, Inc.
   Contributed by Jan Hubicka

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/>.   
Check whether two set of operations have same effects.   

References expr_eval_op::code, ggc_alloc(), i, expr_eval_op::index, expr_eval_op::type, types_compatible_p(), expr_eval_op::val, and vrp_operand_equal_p().

Referenced by ipa_predicate::add_clause(), and add_condition().