IIRC Leo added an option to Configure.pl to turn on optimising.

Prior to this, on IRC Dan said to me that we need to avoid the hack that perl5
found itself in, when it had to retro-fit the ability to change the compiler
flags per file.

Currently I don't think we have this ability. I was wondering if we could do
it by specifying the optimiser flags in the form of

   /.../=xxx
   !...!=xxx

   yyy

where the first two give a regular expression for the object file(s) we wish
flags xxx to apply to. The alternative of !! for m!! should be allowed so
that paths can be specified in the object files as needed, without shell
escaping. All paths should be in Unix forward slash format, to reduce
potential confusion. If there are no flags, then yyy applies to all other
files.

I think this works, except that I'm not sure how to have whitespace in xxx
but let us have multiple regexps. I *think* we need to do this by having
optimiser options be an array - specify the array on the command like by
having multiple --optimise= flags, and interactively just keep accepting more
flags, terminating at the first global flags yyy line.

[We could even provide --optimize= as a synonym for the the Americans :-)]

The reason I bring this up - I've just found this while browsing the
gcc info pages:

`-fgcse'
     Perform a global common subexpression elimination pass.  This pass
     also performs global constant and copy propagation.

     _Note:_ When compiling a program using computed gotos, a GCC
     extension, you may get better runtime performance if you disable
     the global common subexpression elmination pass by adding
     `-fno-gcse' to the command line.

Has anyone [er, I'm thinking of Leo :-)] tried benchmarking computed goto
without this flag? And with the various align functions, such as
-falign-jumps ?

Nicholas Clark

Reply via email to