[project @ 1999-05-11 16:42:29 by keithw]
authorkeithw <unknown>
Tue, 11 May 1999 16:42:32 +0000 (16:42 +0000)
committerkeithw <unknown>
Tue, 11 May 1999 16:42:32 +0000 (16:42 +0000)
commit1e23fb0875facd9440b6948bbe293809ebfba156
tree77349c0f5b0db2731c1b79f77e40fa852b7b0d28
parent2a34e381fa40677c43a530bb6c55d3f4786b7f4b
[project @ 1999-05-11 16:42:29 by keithw]
(this is number 5b of 9 commits to be applied together)

  The major purpose of this commit is to introduce usage information
  and usage analysis into the compiler, per the paper _Once Upon a
  Polymorphic Type_ (Keith Wansbrough and Simon Peyton Jones, POPL'99,
  and Glasgow TR-1998-19).

  An analysis is provided that annotates a Core program with optimal
  usage annotations.  This analysis is performed by -fusagesp
  (=CoreDoUSPInf), and requires -fusagesp-on (=opt_UsageSPOn).  This
  latter performs an analysis in tidyCorePgm, immediately before
  CoreToStg is done.  The driver flag -fusagesp currently provides hsc
  with -fusagesp-on, and if -O is on does a single -fusagesp early on
  in the Core-to-Core sequence.  Please change this as desired.

  *NB*: For now, -fusagesp with -O requires -fno-specialise.  Sorry.

  The flags -ddump-usagesp (=opt_D_dump_usagesp) and -dusagesp-lint
  (=opt_DoUSPLinting) (also -dnousagesp-lint to the driver) have been
  added and are documented in the User Guide.
ghc/docs/users_guide/debugging.vsgml
ghc/docs/users_guide/profiling.vsgml
ghc/docs/users_guide/runtime_control.vsgml
ghc/driver/ghc.lprl