From: r_c_chapman@my-deja.com
Subject: Re: Help Me Please :)
Date: 2000/04/10
Date: 2000-04-10T00:00:00+00:00 [thread overview]
Message-ID: <8csvv7$87t$1@nnrp1.deja.com> (raw)
In-Reply-To: 8ckflm$a1t$1@nnrp1.deja.com
> Certain types of optimization assist in this goal. For example,
> with gnat, we usually find that -O1 assembly code is far easier
> to follow than -O0 code, simply because there is so much less
> of it.
I concur - results from our paper in Ada Europe 99 confirm this.
Brief summary:
On the original SHOLIS project, we had SPARK83 targetting 68040,
and we found the optimizer made very little difference to run-time
and/or object-code understandability, but the Alsys compiler
has hand-written code selection which makes the "unoptimized" code
quite reasonable in those terms.
I ported SHOLIS to SPARK95, and used GNAT/68k to recompile.
At -O0, GNAT produces more code than Alsys, and it's actually
harder to understand, since there are so many redundant loads
and stored littered about the place. At -O1, the GNAT code
is far smaller and easier reading. This is no surprise, since
GCC's code selection is table-driven.
Interestingly, we did not do full-scale object-code verification
(OCV) on SHOLIS, owing to the long track-record and stability
of the Alsys compiler. (well..and the simplicity of SPARK...)
On more recent targets (e.g. PowerPC), it's really important
to have _some_ optimizations on (particularly decent
register allocation) since the difference between
a register, a cache hit, and a main-memory access is so
much more pronounced on these targets. We tried
running code from VADSCross/PowerPC with -O0 on another project -
the results were disappointing, so we reverted to the _default_
level of -O4 for that compiler, which proved fine (this was also
a SIL4 project.)
High-level optimization that perform large-scale reorganisation
of code are definitely a no-no, but I can live with local improvements.
Overall, I recommend you simply avoid having to do full-on
OCV - it's very hard work!
- Rod Chapman
Praxis Critical Systems
rod@praxis-cs.co.uk
Sent via Deja.com http://www.deja.com/
Before you buy.
next prev parent reply other threads:[~2000-04-10 0:00 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-02-29 0:00 Help Me Please :) Will Mann
2000-03-01 0:00 ` Robert Dewar
2000-03-03 0:00 ` Florian Weimer
2000-03-03 0:00 ` tmoran
2000-03-04 0:00 ` Richard D Riehle
2000-03-05 0:00 ` Steve Arnold
2000-03-17 0:00 ` Robert A Duff
2000-03-18 0:00 ` Richard D Riehle
2000-03-18 0:00 ` James S. Rogers
2000-03-19 0:00 ` Robert A Duff
2000-03-20 0:00 ` Brian Rogoff
2000-03-20 0:00 ` Tucker Taft
2000-03-20 0:00 ` Florian Weimer
2000-03-22 0:00 ` Mats Weber
2000-03-27 0:00 ` Robert A Duff
2000-03-27 0:00 ` Hyman Rosen
2000-03-28 0:00 ` reason67
2000-03-28 0:00 ` Robert Dewar
2000-03-29 0:00 ` reason67
2000-03-29 0:00 ` Simon Wright
2000-04-06 0:00 ` Simon Pilgrim
2000-04-07 0:00 ` Robert Dewar
2000-04-10 0:00 ` r_c_chapman [this message]
2000-03-28 0:00 ` Robert Dewar
2000-03-30 0:00 ` Mats Weber
2000-04-06 0:00 ` Exceptions (was: " Wes Groleau
2000-04-07 0:00 ` Mats Weber
2000-03-29 0:00 ` Richard D Riehle
2000-03-29 0:00 ` Robert Dewar
2000-03-31 0:00 ` Richard D Riehle
2000-03-31 0:00 ` Jean-Pierre Rosen
2000-03-31 0:00 ` Pascal Obry
2000-03-30 0:00 ` Mats Weber
2000-03-31 0:00 ` Richard D Riehle
2000-04-06 0:00 ` Wes Groleau
2000-03-30 0:00 ` Tucker Taft
2000-03-30 0:00 ` Mats Weber
[not found] ` <2000Mar3.183321.69279@ludens>
2000-03-03 0:00 ` Larry Kilgallen
2000-03-04 0:00 ` Robert Dewar
[not found] <df481109.0106140310.5d923746@posting.google.com>
[not found] ` <9gb1uu$87u7o$1@ID-52877.news.dfncis.de>
2001-06-19 2:59 ` help me please! Ken Garlington
2001-06-16 10:20 ` C.D.Damron
2001-06-20 6:06 ` John Keeney
-- strict thread matches above, loose matches on Subject: below --
2000-02-29 0:00 Help Me Please :) Will Mann
2000-02-29 0:00 ` Stanley R. Allen
2000-02-29 0:00 ` Al Johnston
2000-03-01 0:00 ` Robert Dewar
2000-03-01 0:00 ` Stanley R. Allen
2000-03-01 0:00 ` Robert Dewar
2000-03-01 0:00 ` Al Johnston
2000-03-01 0:00 ` tmoran
2000-03-01 0:00 ` Al Johnston
2000-03-02 0:00 ` Aidan Skinner
2000-03-01 0:00 ` tmoran
2000-03-01 0:00 ` James Bean
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox