diff options
-rw-r--r-- | compiler/GHC/CoreToStg.hs | 4 |
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 |