#3591: A working program reports <<loop>> when compiled with -O
-----------------------------------------+----------------------------------
Reporter: blamario | Owner: igloo
Type: merge | Status: new
Priority: normal | Milestone: 6.12.1
Component: Compiler | Version: 6.10.4
Resolution: | Keywords:
Difficulty: Unknown | Os: Linux
Testcase: simplCore/should_run/T3591 | Architecture: x86_64 (amd64)
Failure: None/Unknown |
-----------------------------------------+----------------------------------
Changes (by simonpj):
* testcase: => simplCore/should_run/T3591
* owner: simonpj => igloo
* type: bug => merge
Comment:
Oh! I fixed this one a month ago
{{{
Fri Oct 23 17:15:51 GMT Daylight Time 2009 [email protected]
* Fix Trac #3591: very tricky specialiser bug
There was a subtle bug in the interation of specialisation and floating,
described in Note [Specialisation of dictionary functions].
The net effect was to create a loop where none existed before; plain
wrong.
In fixing it, I did quite a bit of house-cleaning in the specialiser,
and
added a lot more comments. It's tricky, alas.
M ./compiler/basicTypes/Id.lhs -1 +6
M ./compiler/specialise/Specialise.lhs -173 +301
}}}
And added a regression test.
Ian, if this isn't in 6.12 it probably should be
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3591#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs