This is the mail archive of the gcc@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]

Re: C++ compile-time regressions (was: GCC 3.0.1 Status Report)


> Joe Buck <jbuck@synopsys.COM> writes:
> 
> | > I'm rather sure, though, that g++ is not generating efficient code for
> | > complicated, nested STL and STL-like structures in the presence of
> | > libstdc++-v3 (iterators are now classes instead of pointers).
> | 
> | But the classes have one member, so we should still be getting equivalent
> | code, provided that we get ADDRESSOF working as well as it did in 2.95.x.
> 
> Now that we have a branch for doing tree-based optimization, what do
> you think about trying to implement "scalar replacement of aggregates"
> optimization and see how good we can do with STL-like structures?

Yes!  This is very important, not just for STL-like structures, but for
proxy objects (e.g. references to bits in a packed bit vector class).

You'll find some good test cases in Boost, particularly the Boost Graph
Library; our current compilers (2.95.x or 3.0.x) do poorly because many
of the iterators and function results are classes with more than one data
member.



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