This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SRA before inlining


> 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
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]