diff options
Diffstat (limited to 'compiler/GHC/Cmm/Switch.hs')
-rw-r--r-- | compiler/GHC/Cmm/Switch.hs | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/compiler/GHC/Cmm/Switch.hs b/compiler/GHC/Cmm/Switch.hs index 7bef1e293a..f8c6c674ef 100644 --- a/compiler/GHC/Cmm/Switch.hs +++ b/compiler/GHC/Cmm/Switch.hs @@ -26,7 +26,6 @@ import qualified Data.Map as M -- Note [Cmm Switches, the general plan] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- -- Compiling a high-level switch statement, as it comes out of a STG case -- expression, for example, allows for a surprising amount of design decisions. -- Therefore, we cleanly separated this from the Stg → Cmm transformation, as @@ -51,10 +50,9 @@ import qualified Data.Map as M -- See Note [GHC.Cmm.Switch vs. GHC.Cmm.Switch.Implement] why the two module are -- separated. ------------------------------------------------------------------------------ + -- Note [Magic Constants in GHC.Cmm.Switch] -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- -- There are a lot of heuristics here that depend on magic values where it is -- hard to determine the "best" value (for whatever that means). These are the -- magic values: @@ -83,7 +81,6 @@ minJumpTableOffset = 2 -- Note [SwitchTargets] -- ~~~~~~~~~~~~~~~~~~~~ --- -- The branches of a switch are stored in a SwitchTargets, which consists of an -- (optional) default jump target, and a map from values to jump targets. -- @@ -175,7 +172,6 @@ switchTargetsToTable (SwitchTargets _ (lo,hi) mbdef branches) -- Note [Jump Table Offset] -- ~~~~~~~~~~~~~~~~~~~~~~~~ --- -- Usually, the code for a jump table starting at x will first subtract x from -- the value, to avoid a large amount of empty entries. But if x is very small, -- the extra entries are no worse than the subtraction in terms of code size, and @@ -239,7 +235,6 @@ data SwitchPlan -- -- Note [createSwitchPlan] -- ~~~~~~~~~~~~~~~~~~~~~~~ --- -- A SwitchPlan describes how a Switch statement is to be broken down into -- smaller pieces suitable for code generation. -- |