
#10491: Regression, simplifier explosion with Accelerate, cannot compile, increasing tick factor is not a workaround -------------------------------------+------------------------------------- Reporter: robertce | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.10.2 Component: Compiler | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by bgamari): One thing in the post-explosion Core that I've noticed is some extremely large bindings of type, {{{#!hs lvl_scb5 :: forall a_aaJ9. (((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int -> (((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int -> Data.Array.Accelerate.Type.Boundary a_aaJ9 -> Either a_aaJ9 ((((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int) }}} with variously sized indices. The size of the binding (determined very roughly by the number of lines in the textual Core representation) scales very strongly with the size of the index, * `((((Z :. Int) :. Int) :. A) :. A) :. Int`: 11777 lines * `(((((Z :. Int) :. Int) :. A) :. A) :. A) :. Int`: 34246 lines * `((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. Int`: 108745 lines * `(((((((Z :. Int) :. Int) :. A) :. A) :. A) :. A) :. A) :. Int`: 351252 lines -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10491#comment:35 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler