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]
Other format: [Raw text]

Re: GCC 3.5 Status (2004-08-29)


Daniel Berlin wrote:

I am confident that there
are alternatives that, while perhaps less comprehensive, get enough of
the common cases to achieve most of the benefits.


What is your confidence based on?  What common cases?  Did Dan tell you
about the issues that he's fighting?  No "less comprehensive" solution
exists that will not run into the exact same problems.




I didn't tell him about the issues i'm fighting, so he's probably just stating the typical result, ie "It takes less time to get the common cases than it does to get all the cases".

Of course, the issues i'm dealing with are things that were punted on
earlier in the design of tree-ssa, because they were either hard to get
right, we didn't have time then, etc.

Let me give an example issue from an email i sent to diego and richard,
as a motivating example.


Yes, there's some design work to be done. That's why I believed your estimate about how long it will take, and why parallelizing the work will only help so much: you still have to agree on a design up front.

I still think there are likely to be expedient hacks that get you a lot of the win. Note that the RTL optimizers didn't know about fields at all until recently (3.4?). So, perhaps we can deal with the compile-time issue by accepting somewhat inferior generated code. Perhaps you can wait until SRA runs, and then just DTRT for objects that get SRA'd. I don't have the answer; I'm just saying that there's likely to be one out there somewhere. GCC got by for years with exactly this kind of solution, and actually managed to generate relatively decent code relatively often.

--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com


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