summaryrefslogtreecommitdiff
path: root/compiler/GHC/Types/Id/Make.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Types/Id/Make.hs')
-rw-r--r--compiler/GHC/Types/Id/Make.hs14
1 files changed, 8 insertions, 6 deletions
diff --git a/compiler/GHC/Types/Id/Make.hs b/compiler/GHC/Types/Id/Make.hs
index 7b0e15df91..b38cde14a1 100644
--- a/compiler/GHC/Types/Id/Make.hs
+++ b/compiler/GHC/Types/Id/Make.hs
@@ -477,9 +477,9 @@ mkDictSelId name clas
-- See Note [Type classes and linear types]
base_info = noCafIdInfo
- `setArityInfo` 1
- `setDmdSigInfo` strict_sig
- `setCprSigInfo` topCprSig
+ `setArityInfo` 1
+ `setDmdSigInfo` strict_sig
+ `setCprSigInfo` topCprSig
info | new_tycon
= base_info `setInlinePragInfo` alwaysInlinePragma
@@ -697,6 +697,8 @@ mkDataConRep dc_bang_opts fam_envs wrap_name data_con
-- does not tidy the IdInfo of implicit bindings (like the wrapper)
-- so it not make sure that the CAF info is sane
+ -- The signature is purely for passes like the Simplifier, not for
+ -- DmdAnal itself; see Note [DmdAnal for DataCon wrappers].
wrap_sig = mkClosedDmdSig wrap_arg_dmds topDiv
wrap_arg_dmds =
@@ -1321,9 +1323,9 @@ mkFCallId uniq fcall ty
name = mkFCallName uniq occ_str
info = noCafIdInfo
- `setArityInfo` arity
- `setDmdSigInfo` strict_sig
- `setCprSigInfo` topCprSig
+ `setArityInfo` arity
+ `setDmdSigInfo` strict_sig
+ `setCprSigInfo` topCprSig
(bndrs, _) = tcSplitPiTys ty
arity = count isAnonTyCoBinder bndrs