SRA before inlining
Jan Hubicka
hubicka@ucw.cz
Sat Jan 27 22:27:00 GMT 2007
> Jan Hubicka wrote on 01/27/07 10:41:
>
> > /* If the statement has no virtual operands, then it doesn't
> > make any structure references that we care about. */
> >- if (ZERO_SSA_OPERANDS (stmt, (SSA_OP_VIRTUAL_DEFS | SSA_OP_VUSE)))
> >- continue;
> >+ if (gimple_aliases_computed_p (cfun)
> >+ && ZERO_SSA_OPERANDS (stmt, (SSA_OP_VIRTUAL_DEFS | SSA_OP_VUSE)))
> >+ continue;
> >
> What's the compile time effect? On the first SRA pass, you are going to
> look at a lot more statements without this guard.
The statement analysis seems cheap and I didn't measured any off noise
slowdown on GCC modules compilation by this patch.
>
> > switch (TREE_CODE (stmt))
> > {
> >@@ -989,7 +990,9 @@ sra_walk_function (const struct sra_walk
> > as a USE of the variable on the RHS of this assignment. */
> >
> > t = TREE_OPERAND (stmt, 0);
> >- if (TREE_CODE (t) == GIMPLE_MODIFY_STMT)
> >+ if (!t)
> >+ ;
>
> Nit.
>
> if (t == NULL_TREE)
> break;
>
>
> OK with that change.
Thanks!
Honza
>
More information about the Gcc-patches
mailing list