diff options
author | Ian Lynagh <igloo@earth.li> | 2010-10-19 17:05:32 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2010-10-19 17:05:32 +0000 |
commit | 6193ff066266120cd18712e0663dfae36034aa51 (patch) | |
tree | 73823af982a6949bb1afa7f26d798fad96790cad | |
parent | a76b8e2794e1721793e641408d04c2349cc974a7 (diff) | |
download | haskell-6193ff066266120cd18712e0663dfae36034aa51.tar.gz |
Evaluate the results in coreToStgApp
-rw-r--r-- | compiler/stgSyn/CoreToStg.lhs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/compiler/stgSyn/CoreToStg.lhs b/compiler/stgSyn/CoreToStg.lhs index 54895aa027..b0595ab1ef 100644 --- a/compiler/stgSyn/CoreToStg.lhs +++ b/compiler/stgSyn/CoreToStg.lhs @@ -544,13 +544,15 @@ coreToStgApp _ f args = do TickBoxOpId {} -> pprPanic "coreToStg TickBox" $ ppr (f,args') _other -> StgApp f args' - - return ( - app, - fun_fvs `unionFVInfo` args_fvs, - fun_escs `unionVarSet` (getFVSet args_fvs) + fvs = fun_fvs `unionFVInfo` args_fvs + vars = fun_escs `unionVarSet` (getFVSet args_fvs) -- All the free vars of the args are disqualified -- from being let-no-escaped. + + app `seq` fvs `seq` seqVarSet vars `seq` return ( + app, + fvs, + vars ) |