summaryrefslogtreecommitdiff
path: root/compiler/GHC/Stg/Lift/Config.hs
blob: 544c23f6a45165d1df947a2669fb1071b5a84a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{-# LANGUAGE TypeFamilies #-}

-- | Configuration options for Lift the lambda lifter.
module GHC.Stg.Lift.Config (
    StgLiftConfig (..),
  ) where

import GHC.Prelude

import GHC.Platform.Profile

data StgLiftConfig = StgLiftConfig
  { c_targetProfile         :: !Profile
  , c_liftLamsRecArgs       :: !(Maybe Int)
  -- ^ Maximum number of arguments after lambda lifting a recursive function.
  , c_liftLamsNonRecArgs    :: !(Maybe Int)
  -- ^ Maximum number of arguments after lambda lifting non-recursive function.
  , c_liftLamsKnown         :: !Bool
  -- ^ Lambda lift even when this turns a known call into an unknown call.
  }
  deriving (Show, Read, Eq, Ord)