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: Compiler Analysis: 3.3, 3.4, or tree-ssa?


Matthew Fago wrote:
However, its application to optimize (on "average") the default -O? flags
is much more generally beneficial. I would also love to use it in my
upcoming work on the "-farch-auto" flag.

This latter class of work requires a standard set of representative code.
Does such a collection already exist?

I do not think a "representative" code base exists, nor do I believe
such a beast *can* exist. Programming styles, languages, and applications differ too much to define an "average" program. If anything, Acovea is proving that point; I'm finding that two similar-seeming programs can have very different optimization requirements.


The -O1, -O2, and -O3 options are general-purpose choices for producing good code in general circumstances. Acovea is, in its current form, a tool for refinement.

I'm using profiling to identify performance-critical code, then applying Acovea to find the options that produce the fastest code for that target. I'm thinking of this as another form of unit testing.

A future version will examine the way options affect accuracy, assuming I can ever settle on an accuracy benchmark. I might look into compile speed, too, as a tool for analyzing gcc's performance.

I'm still deciding which benchmarks to use for the initial release and paper. Assuming all the ducks quack this weekend, I'll have them in a row for publication early next week. Then everyone can kibbitz what I've done...

... although I may learn what it feels like to be nibbled to death by ducks.

Quack.

..Scott (who's had far too little sleep and much too much caffiene)

--
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing



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