c++: remove NON_DEPENDENT_EXPR, part 2
[official-gcc.git] / gcc / tree-ssa-reassoc.h
blobcbd7170d165323b59ce6240784290e9680ad04fa
1 /* Reassociation for trees.
2 Copyright (C) 2020-2023 Free Software Foundation, Inc.
4 This file is part of GCC.
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.
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.
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/>. */
20 #ifndef GCC_SSA_REASSOC_H
21 #define GCC_SSA_REASSOC_H
23 /* Operator, rank pair. */
24 struct operand_entry
26 unsigned int rank;
27 unsigned int id;
28 tree op;
29 unsigned int count;
30 gimple *stmt_to_insert;
33 struct range_entry
35 tree exp;
36 tree low;
37 tree high;
38 bool in_p;
39 bool strict_overflow_p;
40 unsigned int idx, next;
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);
48 #endif /* GCC_SSA_REASSOC_H */