comparison gcc/tree-ssa-loop-ivcanon.c @ 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 b7f97abdc517
children 04ced10e8804
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
38 #include "coretypes.h" 38 #include "coretypes.h"
39 #include "tm.h" 39 #include "tm.h"
40 #include "tree.h" 40 #include "tree.h"
41 #include "tm_p.h" 41 #include "tm_p.h"
42 #include "basic-block.h" 42 #include "basic-block.h"
43 #include "diagnostic.h"
44 #include "tree-pretty-print.h" 43 #include "tree-pretty-print.h"
45 #include "gimple-pretty-print.h" 44 #include "gimple-pretty-print.h"
46 #include "tree-flow.h" 45 #include "tree-flow.h"
47 #include "tree-dump.h" 46 #include "tree-dump.h"
48 #include "cfgloop.h" 47 #include "cfgloop.h"
161 tree base = op; 160 tree base = op;
162 161
163 /* First make fast look if we see constant array inside. */ 162 /* First make fast look if we see constant array inside. */
164 while (handled_component_p (base)) 163 while (handled_component_p (base))
165 base = TREE_OPERAND (base, 0); 164 base = TREE_OPERAND (base, 0);
166 if ((DECL_P (base) 165 if ((DECL_P (base) == VAR_DECL
167 && TREE_STATIC (base) 166 && const_value_known_p (base))
168 && TREE_READONLY (base)
169 && (DECL_INITIAL (base)
170 || (!DECL_EXTERNAL (base)
171 && targetm.binds_local_p (base))))
172 || CONSTANT_CLASS_P (base)) 167 || CONSTANT_CLASS_P (base))
173 { 168 {
174 /* If so, see if we understand all the indices. */ 169 /* If so, see if we understand all the indices. */
175 base = op; 170 base = op;
176 while (handled_component_p (base)) 171 while (handled_component_p (base))
402 free_original_copy_tables (); 397 free_original_copy_tables ();
403 free (wont_exit); 398 free (wont_exit);
404 return false; 399 return false;
405 } 400 }
406 401
407 for (i = 0; VEC_iterate (edge, to_remove, i, e); i++) 402 FOR_EACH_VEC_ELT (edge, to_remove, i, e)
408 { 403 {
409 bool ok = remove_path (e); 404 bool ok = remove_path (e);
410 gcc_assert (ok); 405 gcc_assert (ok);
411 } 406 }
412 407