comp.lang.ada
 help / color / mirror / Atom feed
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.



  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