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