This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [lno] some cleanups for scev
On Thu, Apr 15, 2004 at 04:45:57PM +0000, Sebastian Pop wrote:
> > What I would like to obtain for this expression is either
> > {3, +, chrec_top}, or chrec_top directly.
> >
>
> Indeed, this is what I would like to have, but only after the
> instantiation.
>
> In fact there are two kind of chrecs: those used by the analysis
> algorithm, and those that are used by the client passes. During the
> analysis it is possible to keep a part of the evolution under a
> symbolic form without being completely instantiated. This mechanism
> allows to postpone a part of the analysis until the instantiation
> step, and is used in place of the scheduling of the analysis.
>
> (This makes me think that returning chrec_top in
> instantiate_parameters when a parameter cannot be instantiated could
> be the solution to this problem.)
>
I have bootstrapped the following patch on i686-pc-linux-gnu.
tree-scalar-evolution.c (instantiate_parameters): Don't keep
symbols after instantiation. Fully instantiate parameters,
or fail on chrec_top.
Index: tree-scalar-evolution.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-scalar-evolution.c,v
retrieving revision 1.1.2.31
diff -c -c -3 -p -r1.1.2.31 tree-scalar-evolution.c
*** tree-scalar-evolution.c 15 Apr 2004 15:27:51 -0000 1.1.2.31
--- tree-scalar-evolution.c 15 Apr 2004 17:35:38 -0000
*************** instantiate_parameters (struct loop *loo
*** 2828,2834 ****
the degree of the evolution function. This is the number
of parameters that have to be instantiated, and is almost
all the time less than 2. */
! res = chrec;
else
{
--- 2828,2834 ----
the degree of the evolution function. This is the number
of parameters that have to be instantiated, and is almost
all the time less than 2. */
! res = chrec_top;
else
{