summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-04-28 02:42:53 +0000
committerBen Gamari <ben@smart-cactus.org>2020-04-28 02:42:53 +0000
commitd7c7772eccd9a3c9e3e0882a935f232f42f5b3f0 (patch)
tree89ede254f8a0b61dddce98df69691c232fbdde36
parent00d7411a7e0eb1d72efa2989d4524039b5392eb9 (diff)
downloadhaskell-d7c7772eccd9a3c9e3e0882a935f232f42f5b3f0.tar.gz
Fix potential loop
-rw-r--r--compiler/GHC/Core/Opt/Simplify.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/GHC/Core/Opt/Simplify.hs b/compiler/GHC/Core/Opt/Simplify.hs
index 6f1cec678d..f1bd87a4f8 100644
--- a/compiler/GHC/Core/Opt/Simplify.hs
+++ b/compiler/GHC/Core/Opt/Simplify.hs
@@ -1958,6 +1958,7 @@ rebuildContPrimop :: SimplEnv -> ArgInfo -> SimplCont -> Maybe (SimplM (SimplFlo
rebuildContPrimop env (ArgInfo { ai_fun = fun, ai_args = rev_args })
(ApplyToVal { sc_arg = k, sc_env = k_se, sc_cont = cont})
| Just KeepAliveOp <- isPrimOpId_maybe fun
+ , not (contIsStop cont) -- Don't fiddle around if the continuation is boring
, [ ValArg s0
, ValArg x
, TyArg {} -- res_ty