summaryrefslogtreecommitdiff
path: root/compiler/coreSyn/MkCore.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/coreSyn/MkCore.hs')
-rw-r--r--compiler/coreSyn/MkCore.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/coreSyn/MkCore.hs b/compiler/coreSyn/MkCore.hs
index 0aac992217..05c1f38755 100644
--- a/compiler/coreSyn/MkCore.hs
+++ b/compiler/coreSyn/MkCore.hs
@@ -752,8 +752,8 @@ pc_bottoming_Id1 name ty
-- any pc_bottoming_Id will itself have CafRefs, which bloats
-- SRTs.
- strict_sig = mkClosedStrictSig [evalDmd] botRes
- -- These "bottom" out, no matter what their arguments
+ strict_sig = mkClosedStrictSig [evalDmd] exnRes
+ -- exnRes: these throw an exception, not just diverge
pc_bottoming_Id2 :: Name -> Type -> Id
-- Same but arity two
@@ -762,4 +762,5 @@ pc_bottoming_Id2 name ty
where
bottoming_info = vanillaIdInfo `setStrictnessInfo` strict_sig
`setArityInfo` 2
- strict_sig = mkClosedStrictSig [evalDmd, evalDmd] botRes
+ strict_sig = mkClosedStrictSig [evalDmd, evalDmd] exnRes
+ -- exnRes: these throw an exception, not just diverge