#5539: GHC panic -  Simplifier ticks exhausted
---------------------------------+------------------------------------------
  Reporter:  hvr                 |          Owner:  simonpj       
      Type:  bug                 |         Status:  new           
  Priority:  high                |      Milestone:  7.4.1         
 Component:  Compiler            |        Version:  7.3           
Resolution:                      |       Keywords:                
        Os:  Linux               |   Architecture:  x86_64 (amd64)
   Failure:  Compile-time crash  |     Difficulty:  Unknown       
  Testcase:                      |      Blockedby:                
  Blocking:                      |        Related:                
---------------------------------+------------------------------------------

Comment(by rl):

 Simon, I took a closer looks at the the unfoldings generated for various
 `vector` modules and it seems that the rule you describe above isn't
 applied consistently. Let's take `Data.Vector.Generic` as an example. In
 simple functions like `unsafeIndex`, both `not` and `(||)` seem to be
 inlined into the unfolding and the dead bounds checking code
 (`UNSAFE_CHECK` in this case) is completely eliminated. But in more
 complex functions like `unsafeBackpermute` which uses the exact same
 `UNSAFE_CHECK`, this inlining doesn't happen, as you say. So it seems that
 the unfolding of `unsafeIndex` is optimised too aggressively?

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5539#comment:33>
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

Reply via email to