[GHC] #7803: Superclass methods are left unspecialized

#7803: Superclass methods are left unspecialized -----------------------------------------+---------------------------------- Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.2 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Compile-time performance bug | Blockedby: Blocking: | Related: -----------------------------------------+---------------------------------- In the attached code, Foo.foo1 gets compiled (by ghc -O2) into a call to the unspecialized version of Lib.exp5Tail, even though all the related functions are marked INLINE or SPECIALIZE. The problem seems to be that GHC creates a top-level overloaded function after the specialization pass, so the function never gets specialized. This might be the same issue as #7785, but the workaround I posted there does not work here. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7803 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7803: Superclass methods are left unspecialized -----------------------------------------+---------------------------------- Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.2 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Compile-time performance bug | Blockedby: Blocking: | Related: -----------------------------------------+---------------------------------- Comment(by akio): This particular test case needs !ConstraintKinds but I found that the general problem can be reproduced without it. I can try to make a test case that doesn't use !ConstraintKinds if that seems useful. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7803#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7803: Superclass methods are left unspecialized ---------------------------------+------------------------------------------ Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.2 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Compile-time performance bug Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------ Changes (by igloo): * difficulty: => Unknown * milestone: => 7.8.1 Comment: Thanks for the report -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7803#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7803: Superclass methods are left unspecialized ---------------------------------+------------------------------------------ Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.2 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Compile-time performance bug Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------ Comment(by akio): Replying to [comment:3 simonpj]:
I'll try this out on a full nofib run next week.
How was the result? -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7803#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#7803: Superclass methods are left unspecialized ---------------------------------+------------------------------------------ Reporter: akio | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.2 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: Compile-time performance bug Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------ Comment(by simonpj): Thanks for reminding. Still pending I'm afraid. Maybe next week. Simon -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7803#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (2)
-
GHC
-
GHC