[GHC] #7411: Exceptions are optimized away in certain situations

GHC ghc-devs at haskell.org
Tue May 29 07:56:02 UTC 2018


#7411: Exceptions are optimized away in certain situations
-------------------------------------+-------------------------------------
        Reporter:  SimonHengel       |                Owner:  tdammers
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  7.6.1
      Resolution:                    |             Keywords:  seq, deepseq,
                                     |  evaluate, exceptions
Operating System:  Linux             |         Architecture:  x86_64
                                     |  (amd64)
 Type of failure:  Incorrect result  |            Test Case:
  at runtime                         |  simplCore/should_fail/T7411
      Blocked By:                    |             Blocking:
 Related Tickets:  #5129             |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by tdammers):

 I ran two full builds of GHC (`make clean; ./boot; ./configure; make -j2`
 on a dual-core i5 machine, 4 GB RAM, 7200 RPM HDD, debian stretch, stage0
 = GHC 8.4.1), one with the `prof` flavour, the other with a modified
 `prof` flavour with `GhcLibHcOpts += -fno-state-hack`.

 It turns out that the `-fno-state-hack` version is slightly faster:

 Prof build:

 {{{
 real    66m5.407s
 user    118m50.668s
 sys     6m7.044s
 }}]

 Prof + `-fno-state-hack` build:
 {{{
 real    65m42.784s
 user    118m32.892s
 sys     6m5.252s
 }}}

 I haven't done any in-depth profiling yet, but it seems to me that
 removing the state hack would most not make things significantly worse
 overall.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7411#comment:32>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list