Ticket #1498 (new bug)
Optimisation: eliminate unnecessary heap check in recursive function
| Reported by: | simonmar | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.4.1 |
| Component: | Compiler | Version: | 6.6.1 |
| Keywords: | Cc: | ndmitchell@…, johan.tibell@… | |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Runtime performance bug | Difficulty: | Moderate (less than a day) |
| Test Case: | Blocked By: | #4258 | |
| Blocking: | Related Tickets: |
Description
See http://www.haskell.org/pipermail/cvs-ghc/2007-July/036496.html
In a basic block consisting of some primitive cases, in which only some branches require heap, we could push the heap check into the branches as long as the primitive operations are safe to repeat, and the stack has not been modified. This might save a heap check in the common recursive case, which could be a significant win.
Change History
Note: See
TracTickets for help on using
tickets.
