OSDN Git Service

* tree-scalar-evolution.c: New file.
[pf3gnuchains/gcc-fork.git] / gcc / tree-scalar-evolution.c
1 /* Scalar evolution detector.
2    Copyright (C) 2003, 2004 Free Software Foundation, Inc.
3    Contributed by Sebastian Pop <s.pop@laposte.net>
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 2, or (at your option) any later
10 version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING.  If not, write to the Free
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA.  */
21
22 #include "config.h"
23 #include "system.h"
24 #include "coretypes.h"
25 #include "tm.h"
26 #include "errors.h"
27 #include "ggc.h"
28 #include "tree.h"
29 #include "rtl.h"
30 #include "basic-block.h"
31 #include "diagnostic.h"
32 #include "tree-flow.h"
33 #include "tree-dump.h"
34 #include "timevar.h"
35 #include "cfgloop.h"
36 #include "tree-chrec.h"
37 #include "tree-scalar-evolution.h"
38
39 /* Analyze all the parameters of the chrec that were left under a
40    symbolic form.  LOOP is the loop in which symbolic names have to
41    be analyzed and instantiated.  */
42
43 tree
44 instantiate_parameters (struct loop *loop ATTRIBUTE_UNUSED,
45                         tree chrec)
46 {
47   /* Just a dummy definition for now.  */
48   return chrec;
49 }
50
51 /* Checks whether OP behaves as a simple affine iv of LOOP in STMT and returns
52    its BASE and STEP if possible.  */
53
54 bool
55 simple_iv (struct loop *loop ATTRIBUTE_UNUSED, tree stmt ATTRIBUTE_UNUSED,
56            tree op ATTRIBUTE_UNUSED, tree *base ATTRIBUTE_UNUSED,
57            tree *step ATTRIBUTE_UNUSED)
58 {
59   /* Just a dummy definition for now.  */
60   return false;
61 }