Ticket #2670 (closed bug: fixed)
Record selectors behaving badly wrt optimisation
| Reported by: | simonmar | Owned by: | igloo |
|---|---|---|---|
| Priority: | normal | Milestone: | 6.10.2 |
| Component: | Compiler | Version: | 6.8.3 |
| Keywords: | Cc: | ||
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Difficulty: | Unknown | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
The attached program performs much worse with HEAD as of today (and presumably also 6.10.1) than 6.8.3.
> ghc-6.8.3 --make -O2 bug.hs [1 of 1] Compiling Main ( bug.hs, bug.o ) Linking bug ... > time ./bug 1.17s real 1.17s user 0.01s system 99% ./bug > ghc-6.11 --make -O2 bug.hs [1 of 1] Compiling Main ( bug.hs, bug.o ) Linking bug ... > time ./bug 1.58s real 1.58s user 0.01s system 99% ./bug
The problem appears to be in the code for delete, GHC has duplicated two calls to next.
Also note this is a version of the code we have in eyeball/IOList.lhs which illustrates some other problems in the current optimiser (although the other problems are not regressions, which is why I'm highlighting this one).
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

