This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -funsafe-loop-optimizations
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: Robert Dewar <dewar at adacore dot com>
- Cc: David Edelsohn <dje at watson dot ibm dot com>, Richard Henderson <rth at redhat dot com>, Daniel Berlin <dberlin at dberlin dot org>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, gcc at gcc dot gnu dot org
- Date: 01 Jan 2005 16:17:07 +0100
- Subject: Re: -funsafe-loop-optimizations
- Organization: Integrable Solutions
- References: <20041231211409.GA22814@atrey.karlin.mff.cuni.cz><Pine.LNX.4.60.0412311649170.6844@dberlin.org><20041231232501.GA16663@redhat.com><200501010543.j015h3D33264@makai.watson.ibm.com><41D6B996.4080202@adacore.com>
Robert Dewar <dewar@adacore.com> writes:
| David Edelsohn wrote:
|
| > While we discuss whether this should be the default or enabled at
| > any optimization level, can we agree that users should be able to assert
| > with a commandline option that they want less strict induction variable
| > semantics? I hope that we can move forward with an option to address
| > these performance regressions and allow users to request this optimzation
| > when they *do* want it, along the lines of the draft patch.
|
| My view is that it is just fine to have command line options to modify
| standard behavior. I don't even think it is terrible to have the default
| be non-standard behavior if there are well defined options to get standard
| behavior. I am a little uneasy about the optimization level changing the
| semantics, although you can get by this by saying that something is
| undefined, in which case it is fair game for optimization levels to
| change the behavior.
Yes. However the proposed transformation is not based on undefined
behviour. There is no overflow for unsigned integer types in C and
C++. They are modular. The proposed tranformation is true mutilation
of standard semantics.
-- Gaby