Citeren Diego Novillo <[EMAIL PROTECTED]>:

Mark Mitchell wrote on 04/23/07 13:56:

So, I think there's a middle ground between "exactly the same passes on
all targets" and "use Acovea for every CPU to pick what -O2 means".
Using Acovea to reveal some of the suprising, but beneficial results,
seems like a fine idea, though.

I'm hoping to hear something along those lines at the next GCC Summit. I
have heard of a bunch of work in academia doing extensive optimization
space searches looking for combinations of pass sequencing and
repetition to achieve optimal results.

My naive idea is for someone to test all these different combinations
and give us a set of -Ox recipes that we can use by default in the compiler.



Sorry to be blunt, but that's indeed quite naive :-)

Currently, the -On flags set/unset 60 flags, which yields 2^60 conbinations.
If you also kind the passes not controlled by a flag, but decided upon depending on the optimization level, that adds another, virtual flag (i.e. using -O1, -O2, -O3 or -Os as base setting).

A serious set of programs can easily take tens of minutes, so I think you can easily see trying all possible combinations is totally unfeasible. The nice thing is you don't have to: you can learn from the combinations you've evaluated, you can start with only a subset of programs and add others gradually, ...

My work is actually concentrating on building a framework to do exactly that: give a set of recipes for -On flags which allow a choice, and which are determined by trading off compilation time, execution time and code size.

I won't be at the GCC summit in Canada (I'm in San Diego then presenting some other work), but I'll make sure to announce our work when it's finished...

greetings,

Kenneth

--

Statistics are like a bikini. What they reveal is suggestive, but what they conceal is vital (Aaron Levenstein)

Kenneth Hoste
ELIS - Ghent University
[EMAIL PROTECTED]
http://www.elis.ugent.be/~kehoste

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

Reply via email to