(root)/
gcc-13.2.0/
gcc/
tree-ssa-reassoc.h
       1  /* Reassociation for trees.
       2     Copyright (C) 2020-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify
       7  it under the terms of the GNU General Public License as published by
       8  the Free Software Foundation; either version 3, or (at your option)
       9  any later version.
      10  
      11  GCC is distributed in the hope that it will be useful,
      12  but WITHOUT ANY WARRANTY; without even the implied warranty of
      13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14  GNU General Public License for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef GCC_SSA_REASSOC_H
      21  #define GCC_SSA_REASSOC_H
      22  
      23  /* Operator, rank pair.  */
      24  struct operand_entry
      25  {
      26    unsigned int rank;
      27    unsigned int id;
      28    tree op;
      29    unsigned int count;
      30    gimple *stmt_to_insert;
      31  };
      32  
      33  struct range_entry
      34  {
      35    tree exp;
      36    tree low;
      37    tree high;
      38    bool in_p;
      39    bool strict_overflow_p;
      40    unsigned int idx, next;
      41  };
      42  
      43  void dump_range_entry (FILE *file, struct range_entry *r);
      44  void debug_range_entry (struct range_entry *r);
      45  void init_range_entry (struct range_entry *r, tree exp, gimple *stmt);
      46  bool no_side_effect_bb (basic_block bb);
      47  
      48  #endif  /* GCC_SSA_REASSOC_H  */