Ticket #2321 (closed bug: fixed)

Opened 5 years ago

Last modified 5 years ago

Static argument transformation is causing a core-lint failure on GHC.PrimopWrappers

Reported by: simonmar Owned by:
Priority: high Milestone: 6.10 branch
Component: Compiler Version: 6.8.2
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

The new SAT transformation is causing this failure in the nightly builds when compiling the ghc-prim package with -O2 -dcore-lint:

/64playpen/buildbot/x86_64-linux-head/build/compiler/stage1/ghc-inplace -package-name ghc-prim-0.1 -hide-all-packages -split-objs -i -idist/build -i. -idist/build/autogen -Idist/build -odir dist/build -hidir dist/build -stubdir dist/build -O -package-name ghc-prim -XCPP -XMagicHash -XForeignFunctionInterface -XUnliftedFFITypes -idist/build  -H32m -O -O2 -fasm -dcore-lint -fgenerics  -c GHC/PrimopWrappers.hs -o dist/build/GHC/PrimopWrappers.o  -ohi dist/build/GHC/PrimopWrappers.hi
*** Core Lint Errors: in result of Static argument ***
<no location info>:
    [RHS of $sat_s3dL :: (# GHC.Prim.State# d_a15v,
                            GHC.Prim.MutableArray# d_a15v a_a15u #)]
    A variable has unboxed tuple type: $sat_s3dL
    Binder's type: (# GHC.Prim.State# d_a15v,
                      GHC.Prim.MutableArray# d_a15v a_a15u #)
*** Offending Program ***

I will disable SAT for now until this is fixed.

Also, SAT appears to be run directly after the desugarer and before any simplification at all, which is probably suboptimal (e.g. lots of non-recursive functions will be marked as recursive).

Attachments

SATRewrite.patch Download (227.8 KB) - added by batterseapower 5 years ago.
SAT rewrite

Change History

Changed 5 years ago by batterseapower

SAT rewrite

Changed 5 years ago by simonpj

  • status changed from new to closed
  • resolution set to fixed

I believe this is now fixed.

Simon

Changed 5 years ago by simonmar

  • architecture changed from Unknown to Unknown/Multiple

Changed 5 years ago by simonmar

  • os changed from Unknown to Unknown/Multiple
Note: See TracTickets for help on using tickets.