diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2019-10-25 13:58:33 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2019-10-25 16:14:32 +0100 |
commit | 011ea5548464c3444d61cfc0c0486ebac1d47199 (patch) | |
tree | 2b3753cb51ae01438fb9e8c8d27bef089205dfa0 /compiler/coreSyn/CorePrep.hs | |
parent | 2d2cc76ffb781d01c800608cd8be05cca67ac4c0 (diff) | |
download | haskell-wip/T17294.tar.gz |
Better arity for join pointswip/T17294
A join point was getting too large an arity, leading to #17294.
I've tightened up the invariant: see
CoreSyn, Note [Invariants on join points], invariant 2b
Diffstat (limited to 'compiler/coreSyn/CorePrep.hs')
-rw-r--r-- | compiler/coreSyn/CorePrep.hs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/coreSyn/CorePrep.hs b/compiler/coreSyn/CorePrep.hs index 9d4044cf57..f2e7aee46b 100644 --- a/compiler/coreSyn/CorePrep.hs +++ b/compiler/coreSyn/CorePrep.hs @@ -560,6 +560,7 @@ it seems good for CorePrep to be robust. cpeJoinPair :: CorePrepEnv -> JoinId -> CoreExpr -> UniqSM (JoinId, CpeRhs) -- Used for all join bindings +-- No eta-expansion: see Note [Do not eta-expand join points] in SimplUtils cpeJoinPair env bndr rhs = ASSERT(isJoinId bndr) do { let Just join_arity = isJoinId_maybe bndr |