This is the mail archive of the 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.


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

Scott Robert Ladd
Coyote Gulch Productions (
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]