comparison gcc/tree-chrec.h @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
1 /* Chains of recurrences. 1 /* Chains of recurrences.
2 Copyright (C) 2003-2018 Free Software Foundation, Inc. 2 Copyright (C) 2003-2020 Free Software Foundation, Inc.
3 Contributed by Sebastian Pop <pop@cri.ensmp.fr> 3 Contributed by Sebastian Pop <pop@cri.ensmp.fr>
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify it under 7 GCC is free software; you can redistribute it and/or modify it under
21 #ifndef GCC_TREE_CHREC_H 21 #ifndef GCC_TREE_CHREC_H
22 #define GCC_TREE_CHREC_H 22 #define GCC_TREE_CHREC_H
23 23
24 /* The following trees are unique elements. Thus the comparison of another 24 /* The following trees are unique elements. Thus the comparison of another
25 element to these elements should be done on the pointer to these trees, 25 element to these elements should be done on the pointer to these trees,
26 and not on their value. */ 26 and not on their value.
27 27
28 extern tree chrec_not_analyzed_yet; 28 extern tree chrec_not_analyzed_yet;
29 extern GTY(()) tree chrec_dont_know; 29 extern tree chrec_dont_know;
30 extern GTY(()) tree chrec_known; 30 extern tree chrec_known;
31
32 chrec_not_analyzed_yet is NULL_TREE and the others are defined
33 in global_trees[]. */
31 34
32 /* After having added an automatically generated element, please 35 /* After having added an automatically generated element, please
33 include it in the following function. */ 36 include it in the following function. */
34 37
35 static inline bool 38 static inline bool
72 extern tree evolution_part_in_loop_num (tree, unsigned); 75 extern tree evolution_part_in_loop_num (tree, unsigned);
73 extern tree hide_evolution_in_other_loops_than_loop (tree, unsigned); 76 extern tree hide_evolution_in_other_loops_than_loop (tree, unsigned);
74 extern tree reset_evolution_in_loop (unsigned, tree, tree); 77 extern tree reset_evolution_in_loop (unsigned, tree, tree);
75 extern tree chrec_merge (tree, tree); 78 extern tree chrec_merge (tree, tree);
76 extern void for_each_scev_op (tree *, bool (*) (tree *, void *), void *); 79 extern void for_each_scev_op (tree *, bool (*) (tree *, void *), void *);
77 extern bool convert_affine_scev (struct loop *, tree, tree *, tree *, gimple *, 80 extern bool convert_affine_scev (class loop *, tree, tree *, tree *, gimple *,
78 bool, tree = NULL); 81 bool, tree = NULL);
79 82
80 /* Observers. */ 83 /* Observers. */
81 extern bool eq_evolutions_p (const_tree, const_tree); 84 extern bool eq_evolutions_p (const_tree, const_tree);
82 extern bool is_multivariate_chrec (const_tree); 85 extern bool is_multivariate_chrec (const_tree);
83 extern bool chrec_contains_symbols (const_tree); 86 extern bool chrec_contains_symbols (const_tree, class loop * = NULL);
84 extern bool chrec_contains_symbols_defined_in_loop (const_tree, unsigned); 87 extern bool chrec_contains_symbols_defined_in_loop (const_tree, unsigned);
85 extern bool chrec_contains_undetermined (const_tree); 88 extern bool chrec_contains_undetermined (const_tree);
86 extern bool tree_contains_chrecs (const_tree, int *); 89 extern bool tree_contains_chrecs (const_tree, int *);
87 extern bool evolution_function_is_affine_multivariate_p (const_tree, int); 90 extern bool evolution_function_is_affine_multivariate_p (const_tree, int);
88 extern bool evolution_function_is_univariate_p (const_tree); 91 extern bool evolution_function_is_univariate_p (const_tree, int = 0);
89 extern unsigned nb_vars_in_chrec (tree); 92 extern unsigned nb_vars_in_chrec (tree);
90 extern bool evolution_function_is_invariant_p (tree, int); 93 extern bool evolution_function_is_invariant_p (tree, int);
91 extern bool scev_is_linear_expression (tree); 94 extern bool scev_is_linear_expression (tree);
92 extern bool evolution_function_right_is_integer_cst (const_tree); 95 extern bool evolution_function_right_is_integer_cst (const_tree);
93 96