tree-scalar-evolution.h revision 169689
1169689Skan/* Scalar evolution detector. 2169689Skan Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 3169689Skan Contributed by Sebastian Pop <s.pop@laposte.net> 4169689Skan 5169689SkanThis file is part of GCC. 6169689Skan 7169689SkanGCC is free software; you can redistribute it and/or modify it under 8169689Skanthe terms of the GNU General Public License as published by the Free 9169689SkanSoftware Foundation; either version 2, or (at your option) any later 10169689Skanversion. 11169689Skan 12169689SkanGCC is distributed in the hope that it will be useful, but WITHOUT ANY 13169689SkanWARRANTY; without even the implied warranty of MERCHANTABILITY or 14169689SkanFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15169689Skanfor more details. 16169689Skan 17169689SkanYou should have received a copy of the GNU General Public License 18169689Skanalong with GCC; see the file COPYING. If not, write to the Free 19169689SkanSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20169689Skan02110-1301, USA. */ 21169689Skan 22169689Skan#ifndef GCC_TREE_SCALAR_EVOLUTION_H 23169689Skan#define GCC_TREE_SCALAR_EVOLUTION_H 24169689Skan 25169689Skanextern tree number_of_iterations_in_loop (struct loop *); 26169689Skanextern tree get_loop_exit_condition (struct loop *); 27169689Skan 28169689Skanextern void scev_initialize (struct loops *loops); 29169689Skanextern void scev_reset (void); 30169689Skanextern void scev_finalize (void); 31169689Skanextern tree analyze_scalar_evolution (struct loop *, tree); 32169689Skanextern tree instantiate_parameters (struct loop *, tree); 33169689Skanextern void gather_stats_on_scev_database (void); 34169689Skanextern void scev_analysis (void); 35169689Skanunsigned int scev_const_prop (void); 36169689Skan 37169689Skanextern bool simple_iv (struct loop *, tree, tree, affine_iv *, bool); 38169689Skan 39169689Skan#endif /* GCC_TREE_SCALAR_EVOLUTION_H */ 40