| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-------------------------------------
Remove all vestiges of usage analysis
-------------------------------------
This commit removes a large blob of usage-analysis-related code, almost
all of which was commented out.
Sadly, it doesn't look as if Keith is going to have enough time to polish it
up, and in any case the actual performance benefits (so far as we can measure
them) turned out to be pretty modest (a few percent).
So, with regret, I'm chopping it all out. It's still there in the repository
if anyone wants go hack on it. And Tobias Gedell at Chalmers is implementing
a different analysis, via External Core.
|
|
|
|
|
|
| |
This commit completes the merge of compiler part
of the HEAD with the before-ghci-branch to
before-ghci-branch-merged.
|
|
|
|
| |
remove unused imports
|
|
(this is number 5a 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.
|