From: Duncan Sands <baldrick@free.fr>
To: comp.lang.ada@ada-france.org
Cc: Randy Brukardt <randy@rrsoftware.com>
Subject: Re: GNAT Optimization of Constant Expressions
Date: Fri, 18 May 2007 19:49:53 +0200
Date: 2007-05-18T19:50:09+02:00 [thread overview]
Message-ID: <mailman.154.1179510602.18371.comp.lang.ada@ada-france.org> (raw)
In-Reply-To: <200705181935.23877.baldrick@free.fr>
> while what you say is very logical, unfortunately it seems to be wrong: I
> checked and these functions are not being marked pure. So how come declaring
> a constant helps? I don't know - I didn't look into it yet.
I took a quick look. At -O2 defining constants makes no difference (in the
C case "const" functions are hoisted out of the loop at -O2) but with -O3
the calls are hoisted. This is presumably because gcc inlines the bodies
for sin etc at -O3 and sees that in fact they have no side-effects, but
for some reason doesn't hoist them unless the constants have been defined.
Ciao,
Duncan.
next prev parent reply other threads:[~2007-05-18 17:49 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-16 22:37 GNAT Optimization of Constant Expressions David Smith
2007-05-17 4:50 ` Randy Brukardt
2007-05-17 20:03 ` Gautier
2007-05-17 20:46 ` Randy Brukardt
2007-05-17 22:49 ` David Smith
2007-05-17 23:38 ` Randy Brukardt
2007-05-18 7:58 ` Dmitry A. Kazakov
2007-05-18 11:27 ` Georg Bauhaus
2007-05-18 17:28 ` Randy Brukardt
2007-05-18 16:25 ` Ray Blaak
2007-05-18 17:40 ` Randy Brukardt
2007-05-18 22:51 ` Adam Beneschan
2007-05-19 2:44 ` Randy Brukardt
2007-05-18 9:05 ` Markus E Leypold
2007-05-18 9:47 ` Florian Weimer
2007-05-18 11:32 ` Duncan Sands
2007-05-18 17:20 ` Randy Brukardt
2007-05-18 17:35 ` Duncan Sands
[not found] ` <200705181935.23877.baldrick@free.fr>
2007-05-18 17:49 ` Duncan Sands [this message]
2007-05-17 5:30 ` Martin Krischik
2007-05-18 9:56 ` Duncan Sands
2007-05-18 15:39 ` David Smith
2007-05-18 17:08 ` Duncan Sands
[not found] ` <200705181908.54920.baldrick@free.fr>
2007-05-18 17:32 ` Duncan Sands
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox