Skip to content
  • Keith Wansbrough's avatar
    [project @ 1999-05-11 16:42:29 by keithw] · 1e23fb08
    Keith Wansbrough authored
    (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.
    1e23fb08