summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Ericson <git@johnericson.me>2022-09-27 20:42:52 +0000
committerDominik Peteler <haskell+gitlab@with-h.at>2022-09-27 20:42:52 +0000
commita3e5360a3b9d45e1a9a0db0ba8dd1d1c902399b3 (patch)
tree2ee8d8103f450505cab4cf2528ef2c3146fe19b2
parente4e813df1d9762c92927381159b9cd9cff19bcb3 (diff)
downloadhaskell-a3e5360a3b9d45e1a9a0db0ba8dd1d1c902399b3.tar.gz
Applied suggestion: Description of Core Optimizer stages
-rw-r--r--compiler/GHC/Driver/Core/Opt.hs4
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