Skip to content

the impossible pprPanic, called at compiler/cmm/CmmLive.hs:70:8 in ghc:CmmLive

Summary

Whilst upgrading our project to use 8.8.1 to avoid a bug in 8.6.5 I encountered the following. I had everything building with -O0 and then tried to do an -O2 build but received this.

ghc: panic! (the 'impossible' happened)
  (GHC version 8.8.1 for x86_64-unknown-linux):
        LocalReg's live-in to graph
  cxl1 {_svLx::P64, _svLy::P64, _svLz::P64, _svLA::P64, _svLB::P64}
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/utils/Outputable.hs:1159:37 in ghc:Outputable
        pprPanic, called at compiler/cmm/CmmLive.hs:70:8 in ghc:CmmLive

Whilst trying to remove code (there's a lot) to produce something shareable i removed {-# INLINE f #-} from some functions and the error went away.

I do not yet have a small reproduction but am able to try any suggestions

Steps to reproduce

compile my code with -O1 or -O2

Expected behavior

it to build

Environment

  • GHC version used: 8.8.1

Optional:

  • Operating System: ubuntu 18.04
  • System Architecture: x86_64
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information