Opened 3 years ago

Closed 3 years ago

#5285 closed bug (fixed)

Core lint error in T3001-2 [7.0 regression]

Reported by: simonmar Owned by: simonpj
Priority: highest Milestone: 7.2.1
Component: Compiler Version: 7.0.3
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Compile-time crash Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

T3001-2(prof_hb) is producing the following Core Lint failure:

=====> T3001-2(prof_hb) 4 of 5 [0, 0, 0]
cd . && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts  -o T3001-2 T3001-2.hs -O -prof -auto-all -package bytestring  >T3001-2.comp.stderr 2>&1
Compile failed (status 256) errors were:
[1 of 1] Compiling Main             ( T3001-2.hs, T3001-2.o )

T3001-2.hs:23:1:
    Warning: In the use of `unsafePerformIO'
             (imported from Foreign):
             Deprecated: "Use System.IO.Unsafe.unsafePerformIO instead; This function will be removed in the next release"
*** Core Lint errors : in result of Simplifier SimplMode {Phase = 0 [final],
                                                          inline,
                                                          rules,
                                                          eta-expand,
                                                          case-of-case} max-iterations=4 ***
<no location info>:
    [RHS of m'_s326 :: Main.Get [GHC.Types.Char]]
    Demand type has  1  arguments, rhs has  0 arguments,  m'_s326
    Binder's strictness signature: DmdType Lm

Change History (6)

comment:1 Changed 3 years ago by simonmar

FYI, this first failed in the nightly build on 26 May. It was probably tickled by this change:

commit 4063e1d8501b38b5ed8d620dcd8e27adee0e7091
Author: Simon Marlow <marlowsd@gmail.com>
Date:   Wed May 25 13:06:05 2011 +0100

    sizeExpr: multiply all the sizes by 10, except for primops.  This
    makes primops look cheap (but not free), and improves the Repro4.hs
    example from #4978.
    
    While I was making this change I accidentally discovered that
    increasing the discount for scrutinised constructors was an
    unambiguous win, so I did that too.

comment:2 Changed 3 years ago by simonmar

  • Owner set to simonpj

comment:3 Changed 3 years ago by simonmar

This one looks similar (last night's build on x86_64/Linux):

=====> signals004(profasm) 11 of 17 [0, 0, 0]
cd . && '/64playpen/simonmar/nightly/HEAD-cam-04-unx/x86_64-unknown-linux/inplace/bin/ghc-stage2' -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts  -o signals004 signals004.hs -O -prof -auto-all -fasm -package unix  >signals004.comp.stderr 2>&1
Compile failed (status 256) errors were:
[1 of 1] Compiling Main             ( signals004.hs, signals004.o )
*** Core Lint errors : in result of Simplifier SimplMode {Phase = 0 [final],
                                                          inline,
                                                          rules,
                                                          eta-expand,
                                                          case-of-case} max-iterations=4 ***
<no location info>:
    [RHS of a_s1T6 :: GHC.Prim.Int#
                      -> GHC.Prim.State# GHC.Prim.RealWorld
                      -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)]
    Demand type has  2  arguments, rhs has  0 arguments,  a_s1T6
    Binder's strictness signature: DmdType LL

comment:4 Changed 3 years ago by simonpj@…

commit 0971055c2745b0cb2e167167ceb7a614ea5f8aca

Author: Simon Peyton Jones <simonpj@microsoft.com>
Date:   Thu Jul 21 12:54:51 2011 +0100

    Eta expand partial applications
    
    When we have
         x = \v -> map g
    we want to eta-expand to
         x = \v y -> map g y
    
    We weren't doing so, and that led to worse code and,
    perhaps, #5285.  I need to check the latter, but I
    was certainly seeing one similar error.  Anyway
    this looks like a definite improvement

 compiler/simplCore/SimplUtils.lhs |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

comment:5 Changed 3 years ago by simonpj

In libraries/unix/tests, signals004 still failing.

comment:6 Changed 3 years ago by igloo

  • Resolution set to fixed
  • Status changed from new to closed

Merged as changeset:b982db15d2a8e105907f85b30bcb2d87a82c3d86.

I opened #5341 for the signals004 failure.

Note: See TracTickets for help on using tickets.