Folks,

The adventurous among you may like to try an innovation
which in some cases nearly doubles the speed at which 
ghc compiles programs.  This innovation is our native code
generator, which has long been in the GHC source tree,
but has only just been made to work for x86.  It reduces
compilation time by avoiding gcc (and perl) entirely,
and directly emitting x86 assembly code.

* Only x86 Linux is currently working.  I guess it
  should not be too much trouble to emit x86 code for
  Win32.  GHC also used to be able to emit Sparc and Alpha
  code, but these currently do not work.  Brave/foolhardy :-)
  souls may like to have a go resurrecting them; we will
  advise and supply debugging tips.  Or even writing new
  ports; IA64, anyone?

* This functionality is only available from the current
  CVS development branch.  It is NOT available in the
  standard 4.06 distribution, unfortunately.  In order
  to use it, build ghc from the CVS repository.  Then
  you only need to add -fasm-x86 to your command lines
  to use it.

* Stability: all of the nofib suite runs, and the compiler
  can compile itself via the native-code route.  This means
  it works well enough to be useful.  The generated code is
  5-10% slower than the standard route, but that's fine for
  debugging/development work.

  Regard this as beta-release functionality.  It works pretty
  well, but there are known issues which need to be resolved 
  before full-scale use (see ghc/compiler/nativeGen/NOTES).
  If stability/reliability are important to you, stick with
  the recently released 4.06 version.

* Please try it out!  I would be pleased to get feedback on it.

J

Reply via email to