summaryrefslogtreecommitdiff
path: root/compiler/coreSyn/CorePrep.hs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2019-10-25 13:58:33 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2019-10-25 16:14:32 +0100
commit011ea5548464c3444d61cfc0c0486ebac1d47199 (patch)
tree2b3753cb51ae01438fb9e8c8d27bef089205dfa0 /compiler/coreSyn/CorePrep.hs
parent2d2cc76ffb781d01c800608cd8be05cca67ac4c0 (diff)
downloadhaskell-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.hs1
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