Skip to content
  • Ben Gamari's avatar
    StgLint: Enforce MultiValAlt liveness invariant only after unariser · a36b34c4
    Ben Gamari authored and Ben Gamari's avatar Ben Gamari committed
    The unariser ensures that we never use case binders that are void,
    unboxed sums, or unboxed tuples. However, previously StgLint was
    enforcing this invariant even before the unariser was running, giving
    rise to spurious lint failures.  Fix this. Following CoreLint, we
    introduce a LintFlags environment to the linter monad, allowing for
    additional flags to be easily accomodated in the future.
    
    See #14118.
    
    Test Plan: Build GHC with -dstg-lint
    
    Reviewers: simonpj, austin
    
    Subscribers: rwbarton, thomie
    
    GHC Trac Issues: #14118
    
    Differential Revision: https://phabricator.haskell.org/D3889
    a36b34c4