diff options
Diffstat (limited to 'compiler/coreSyn/MkCore.hs')
-rw-r--r-- | compiler/coreSyn/MkCore.hs | 7 |
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 |