This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to tree-profiling branch to do escape type analysis.
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: "Tice, Caroline" <ctice at apple dot com>
- Cc: gcc-patches at gcc dot gnu dot org, "Hubicha, Jan" <jh at suse dot cz>, Kenneth Zadeck <zadeck at naturalbridge dot com>, Ira Rosen <IRAR at il dot ibm dot com>
- Date: Wed, 19 Jan 2005 10:32:33 -0500
- Subject: Re: patch to tree-profiling branch to do escape type analysis.
- References: <OFF111B417.593EBE95-ONC2256F8E.005143F5-C2256F8E.00545FCA@il.ibm.com>
On Wed, 2005-01-19 at 17:21 +0200, Dorit Naishlos wrote:
>
>
> > In a few of the cases, it hits the "PRE creates induction variable" bug
> > that i have a patch waiting for 4.1 for
>
> this indeed looks like what happens in vect-[56,60].c.
> I guess these can be xfailed until the PRE PR is resolved.
I could commit the patch i have queued for 4.1, but i don't really see
the point in adding a few more conflicts to the branch.
>
> > In the others, it hits the invariant phi blocks vectorization problem
> > Dorit says she has a patch for.
>
> the other two are vect-[77,78].c, and it's not the invariant phi problem
> that they're hitting as far as I can see, but a different restriction in
> the vectorizer:
It depends on what platform you are talking about :)
On PPC, yes, they hit a slightly different pointer problem.
>
> /* Supported plus/minus expressions are of the form
> {address_base + offset}, such that address_base is of type
> POINTER/ARRAY, and offset is either an INTEGER_CST of type
> POINTER,
> or it's not of type POINTER/ARRAY.
> TODO: swap operands if {offset + address_base}. */
>
> (this is because in tree-profiling-branch we now get
> '(aint *) (off_17 * 4) + ib_19'
> whereas we used to get
> 'ib_16 + (aint *) (off_11 * 4)').
Yup.
Once i push down MEM_REF through the optimizers, you'll actually get
just
ib_19[off_17]
Will that be okay?