summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/GHC/CoreToStg.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/GHC/CoreToStg.hs b/compiler/GHC/CoreToStg.hs
index bf58cc1377..2e8ed2e716 100644
--- a/compiler/GHC/CoreToStg.hs
+++ b/compiler/GHC/CoreToStg.hs
@@ -601,7 +601,9 @@ coreToStgArgs (arg : args) = do -- Non-type argument
arg' <- coreToStgExpr arg
let
(aticks, arg'') = stripStgTicksTop tickishFloatable arg'
- stg_arg = case arg'' of
+ -- Force this now, as otherwise the returned [StgArg]s contains
+ -- thunks which we will eventually force anyway.
+ !stg_arg = case arg'' of
StgApp v [] -> StgVarArg v
StgConApp con _ [] _ -> StgVarArg (dataConWorkId con)
StgLit lit -> StgLitArg lit