[m-dev.] for review: value numbering in the eager code generator

Zoltan Somogyi zs at cs.mu.OZ.AU
Tue Sep 19 15:04:03 AEDT 2000


On 19-Sep-2000, Thomas Conway <conway at cs.mu.OZ.AU> wrote:
> What is the relative performance of using/not using --no-lazy-code?

I posted the figures for --no-lazy-code a while ago, with the diff that
introduced it. From memory, --no-lazy-code is faster by about 1.3% to 1.8%
at -O2 and -O3, and very slightly slower (about 0.1%) at -O5. The eager
code generator also does less work, so when switching from a lazy-compiled
compiler doing lazy code generation to an eager-compiled compiler doing eager
code generation, the speedup was about 3.5% at the default optimization level.

I measured the impact of this change by itself at the default optimization
level: it is a speedup of 0.5% with --no-lazy-code (and no effect with
--lazy-code, since this change only really affects the eager code generator).

I expect that the speedup will be slightly larger when this change is combined
with the diff I posted yesterday, which gives all the data movement commands
to var_locn in one go. However, I have not yet measured that combination.

> Should the default value of the option change?

Yes, it should, after I put these two changes together and perform more
measurements. In particular, I want to see whether value numbering can be
disabled entirely after switching to the eager code generator. (I don't want
to delete it until I finish implementing stack slot optimization. The reason
is that stack slot optimization is required to prevent --unneeded-code from
reducing performance, and we should not get rid of --pred-value-number
until --unneeded-code is ready for general use. They do the same kind of thing
at different levels: --pred-value-number moves code to the computation branches
that need them at the LLDS level, while --unneeded-code does the same at the
HLDS level.)

Zoltan.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list