ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Core.Opt.Pipeline.Types

Contents

- Configuration of the core-to-core passes

Synopsis

- type CorePluginPass = ModGuts -> CoreM ModGuts
- data CoreToDo
  - = CoreDoSimplify !SimplifyOpts
  - | CoreDoPluginPass String CorePluginPass
  - | CoreDoFloatInwards
  - | CoreDoFloatOutwards FloatOutSwitches
  - | CoreLiberateCase
  - | CoreDoPrintCore
  - | CoreDoStaticArgs
  - | CoreDoCallArity
  - | CoreDoExitify
  - | CoreDoDemand Bool
  - | CoreDoCpr
  - | CoreDoWorkerWrapper
  - | CoreDoSpecialising
  - | CoreDoSpecConstr
  - | CoreCSE
  - | CoreDoRuleCheck CompilerPhase String
  - | CoreDoNothing
  - | CoreDoPasses [CoreToDo]
  - | CoreDesugar
  - | CoreDesugarOpt
  - | CoreTidy
  - | CorePrep
  - | CoreAddCallerCcs
  - | CoreAddLateCcs
- bindsOnlyPass :: (CoreProgram -> CoreM CoreProgram) -> ModGuts -> CoreM ModGuts
- pprPassDetails :: CoreToDo -> SDoc

# Configuration of the core-to-core passes

type CorePluginPass = ModGuts -> CoreM ModGuts Source #

A description of the plugin pass itself

data CoreToDo Source #

Constructors

CoreDoSimplify !SimplifyOpts | The core-to-core simplifier.
CoreDoPluginPass String CorePluginPass |
CoreDoFloatInwards |
CoreDoFloatOutwards FloatOutSwitches |
CoreLiberateCase |
CoreDoPrintCore |
CoreDoStaticArgs |
CoreDoCallArity |
CoreDoExitify |
CoreDoDemand Bool |
CoreDoCpr |
CoreDoWorkerWrapper |
CoreDoSpecialising |
CoreDoSpecConstr |
CoreCSE |
CoreDoRuleCheck CompilerPhase String |
CoreDoNothing |
CoreDoPasses [CoreToDo] |
CoreDesugar |
CoreDesugarOpt |
CoreTidy |
CorePrep |
CoreAddCallerCcs |
CoreAddLateCcs |

#### Instances

Instances details

Outputable CoreToDo Source # |
Instance details Defined in GHC.Core.Opt.Pipeline.Types Methods ppr :: CoreToDo -> SDoc Source #

bindsOnlyPass :: (CoreProgram -> CoreM CoreProgram) -> ModGuts -> CoreM ModGuts Source #

pprPassDetails :: CoreToDo -> SDoc Source #