[Bug tree-optimization/40744] SRA scalarizes dead objects, single-use objects

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Tue Jul 14 21:28:00 GMT 2009



------- Comment #2 from rguenther at suse dot de  2009-07-14 21:28 -------
Subject: Re:  SRA scalarizes dead objects,
 single-use objects

On Tue, 14 Jul 2009, jamborm at gcc dot gnu dot org wrote:

> ------- Comment #1 from jamborm at gcc dot gnu dot org  2009-07-14 16:32 -------
> OK, I have now added this to my todo list.  The simple tweaks would be
> simple.  On  the other hand, if  DCE is clever, it  still might figure
> out a structure is dead at  some code paths while I don't even attempt
> to and still remove some statements.
> 
> > only loads from a structure or only stores to a structure
> > probably should be simply skipped.
> 
> I've been thinking about not scalarizing accesses that occur only once
> too.  Thinking about it more,  I wonder whether requiring at least one
> load and  a store or  at least  two loads is  a good idea.   (Load and
> store for the case where we  store something to an aggregate first and
> then load it and  two loads for the case when we  can finally get away
> with one.)

Note that it is important to keep the structure copyprop case

 tmp = b;
 return tmp;

which happens quite often in C++ code.

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40744



More information about the Gcc-bugs mailing list