diff options
author | John Ericson <git@johnericson.me> | 2022-09-27 20:42:52 +0000 |
---|---|---|
committer | Dominik Peteler <haskell+gitlab@with-h.at> | 2022-09-27 20:42:52 +0000 |
commit | a3e5360a3b9d45e1a9a0db0ba8dd1d1c902399b3 (patch) | |
tree | 2ee8d8103f450505cab4cf2528ef2c3146fe19b2 | |
parent | e4e813df1d9762c92927381159b9cd9cff19bcb3 (diff) | |
download | haskell-a3e5360a3b9d45e1a9a0db0ba8dd1d1c902399b3.tar.gz |
Applied suggestion: Description of Core Optimizer stages
-rw-r--r-- | compiler/GHC/Driver/Core/Opt.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/GHC/Driver/Core/Opt.hs b/compiler/GHC/Driver/Core/Opt.hs index 8e2e2362e9..f93d222e81 100644 --- a/compiler/GHC/Driver/Core/Opt.hs +++ b/compiler/GHC/Driver/Core/Opt.hs @@ -129,8 +129,8 @@ Note [The architecture of the Core optimizer] Conceptually the Core optimizer consists of two stages: - 1. The planning stage. - 2. The execution stage. + 1. **The planning stage**: where we take the user-specified input (currently in `DynFlags`) and produce a domain-specific configuration for just this pipeline stage (a `[CoreToDo]` value). This configuration is the plan. + 2. **The execution stage**: where we we take a Core program (a `ModGuts`) and the configuration (a `[CoreToDo]`) and optimize that program according to the `[CoreToDo]` plan, producing a new `ModGuts`. This division is mirrored in the interface of the different optimizations. For each of those optimzations we have |