[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <caabc5ee6a77124d76d3489d82fb76dc@kernel.crashing.org>
Date: Mon, 25 Jun 2007 09:35:33 +0200
From: Segher Boessenkool <segher@...nel.crashing.org>
To: david@...g.hm
Cc: Benjamin LaHaise <bcrl@...ck.org>, linux-kernel@...r.kernel.org,
Arjan van de Ven <arjan@...radead.org>,
Adrian Bunk <bunk@...sta.de>,
Oleg Verych <olecom@...wer.upol.cz>, rae l <crquan@...il.com>
Subject: Re: -Os versus -O2
>> Also note that whether or not it is profitable to unroll
>> a particular loop depends largely on how "hot" that loop
>> is, and GCC doesn't know much about that if you don't feed
>> it profiling information (it can guess a bit, sure, but it
>> can guess wrong too).
>
> actually, what you are saying is that the compiler can't know enough
> to figure out how to optimize for speed. it will just do what you tell
> it to, either unroll loops or not.
It bases its optimisation decisions on the options you give
it, the profile feedback information you either or not gave
it, and a whole bunch of heuristics.
> this argues that both O2 and Os are incorrect for a project to use and
> instead the project needs to make it's own decisions on this.
For optimal performance, you need to fine-tune options yes,
per file (or per function even!)
> if this is the true feeling of the gcc team I'm very disappointed, it
> feels like a huge step backwards.
I speak only for myself. However this is the only way it _can_
be, the compiler isn't clairvoyant. Some of the heuristics sure
could use some tuning, but they stay heuristics.
Segher
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists