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: [PATCH] Improve lim for pulling loads from global variable outof loops


On Fri, 2004-11-12 at 10:09, Zdenek Dvorak wrote:
> Hello,
> 
> > > 	* tree-ssa-loop-im.c (stmt_cost): Gimple variables should be
> > > 	pulled out too as they cause memory accesses.
> > > 
> > Your ChangeLog entry doesn't match the code.  Also, testing only for
> > is_gimple_addressable will not include global variables.  You want to
> > test is_global_var.
> 
> Diego, I think you are wrong in both points -- is_gimple_addressable
> includes global variables (any variables, in fact), and the changelog
> entry seems to match the change.
> 
You're right, I didn't express myself correctly.  Andrew said he wanted
to consider global variables expensive.  Globals are addressable, but
not every addressable is a global.

> However the patch is wrong -- is_gimple_addressable also matches SSA
> names.  So the right patch should be
> 
I thought the intent was to only mark globals as expensive?  I think I
would just say:

if (!is_gimple_reg (rhs))
   cost += 20;


Diego.


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