Mercurial > hg > CbC > CbC_gcc
comparison gcc/tree-chrec.h @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | 77e2b8dfacca |
children | 04ced10e8804 |
comparison
equal
deleted
inserted
replaced
65:65488c3d617d | 67:f6334be47118 |
---|---|
1 /* Chains of recurrences. | 1 /* Chains of recurrences. |
2 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 2 Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
4 Contributed by Sebastian Pop <pop@cri.ensmp.fr> | 4 Contributed by Sebastian Pop <pop@cri.ensmp.fr> |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
62 extern tree chrec_convert_rhs (tree, tree, gimple); | 62 extern tree chrec_convert_rhs (tree, tree, gimple); |
63 extern tree chrec_convert_aggressive (tree, tree); | 63 extern tree chrec_convert_aggressive (tree, tree); |
64 | 64 |
65 /* Operations. */ | 65 /* Operations. */ |
66 extern tree chrec_apply (unsigned, tree, tree); | 66 extern tree chrec_apply (unsigned, tree, tree); |
67 extern tree chrec_apply_map (tree, VEC (tree, heap) *); | |
67 extern tree chrec_replace_initial_condition (tree, tree); | 68 extern tree chrec_replace_initial_condition (tree, tree); |
68 extern tree initial_condition (tree); | 69 extern tree initial_condition (tree); |
69 extern tree initial_condition_in_loop_num (tree, unsigned); | 70 extern tree initial_condition_in_loop_num (tree, unsigned); |
70 extern tree evolution_part_in_loop_num (tree, unsigned); | 71 extern tree evolution_part_in_loop_num (tree, unsigned); |
71 extern tree hide_evolution_in_other_loops_than_loop (tree, unsigned); | 72 extern tree hide_evolution_in_other_loops_than_loop (tree, unsigned); |
199 /* Determine whether CHREC is an affine evolution function or not. */ | 200 /* Determine whether CHREC is an affine evolution function or not. */ |
200 | 201 |
201 static inline bool | 202 static inline bool |
202 evolution_function_is_affine_p (const_tree chrec) | 203 evolution_function_is_affine_p (const_tree chrec) |
203 { | 204 { |
204 if (chrec == NULL_TREE) | 205 return chrec |
205 return false; | 206 && TREE_CODE (chrec) == POLYNOMIAL_CHREC |
206 | 207 && evolution_function_is_invariant_p (CHREC_RIGHT (chrec), |
207 switch (TREE_CODE (chrec)) | 208 CHREC_VARIABLE (chrec)); |
208 { | |
209 case POLYNOMIAL_CHREC: | |
210 if (evolution_function_is_invariant_p (CHREC_LEFT (chrec), | |
211 CHREC_VARIABLE (chrec)) | |
212 && evolution_function_is_invariant_p (CHREC_RIGHT (chrec), | |
213 CHREC_VARIABLE (chrec))) | |
214 return true; | |
215 else | |
216 return false; | |
217 | |
218 default: | |
219 return false; | |
220 } | |
221 } | 209 } |
222 | 210 |
223 /* Determines whether EXPR does not contains chrec expressions. */ | 211 /* Determines whether EXPR does not contains chrec expressions. */ |
224 | 212 |
225 static inline bool | 213 static inline bool |