Mercurial > hg > CbC > CbC_gcc
diff gcc/graphite.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/graphite.c Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/graphite.c Mon May 24 12:47:05 2010 +0900 @@ -1,5 +1,5 @@ /* Gimple Represented as Polyhedra. - Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Contributed by Sebastian Pop <sebastian.pop@inria.fr>. This file is part of GCC. @@ -202,7 +202,7 @@ if (number_of_loops () <= 1 /* FIXME: This limit on the number of basic blocks of a function should be removed when the SCOP detection is faster. */ - || n_basic_blocks > 100) + || n_basic_blocks > PARAM_VALUE (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION)) { if (dump_file && (dump_flags & TDF_DETAILS)) print_global_statistics (dump_file); @@ -228,6 +228,7 @@ { if (need_cfg_cleanup_p) { + scev_reset (); cleanup_tree_cfg (); profile_status = PROFILE_ABSENT; release_recorded_exits (); @@ -267,23 +268,13 @@ bb_pbb_mapping = htab_create (10, bb_pbb_map_hash, eq_bb_pbb_map, free); for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++) - { - bool transform_done = false; - - if (!build_poly_scop (scop)) - continue; + build_poly_scop (scop); - if (apply_poly_transforms (scop)) - transform_done = gloog (scop, bb_pbb_mapping); - else - check_poly_representation (scop); - - if (transform_done) - { - scev_reset (); - need_cfg_cleanup_p = true; - } - } + for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++) + if (POLY_SCOP_P (scop) + && apply_poly_transforms (scop) + && gloog (scop, scops, bb_pbb_mapping)) + need_cfg_cleanup_p = true; htab_delete (bb_pbb_mapping); free_scops (scops);