diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-07-10 14:29:56 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-07-11 10:03:21 +0100 |
commit | 97adc5de9bbb976a4ed816575041eb7ee5d8e670 (patch) | |
tree | da23147e1074f29d9d013e7c6b60eaabbd4612ce /compiler/codeGen | |
parent | 560422565c7aa8016dd185f14044512cbbd4e660 (diff) | |
download | haskell-97adc5de9bbb976a4ed816575041eb7ee5d8e670.tar.gz |
adjustHpBackwards before calling a let-no-escape
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/StgCmmExpr.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmExpr.hs b/compiler/codeGen/StgCmmExpr.hs index e2789e7b2c..9e2b78cbbd 100644 --- a/compiler/codeGen/StgCmmExpr.hs +++ b/compiler/codeGen/StgCmmExpr.hs @@ -609,7 +609,8 @@ cgIdApp fun_id args cgLneJump :: BlockId -> [LocalReg] -> [StgArg] -> FCode () cgLneJump blk_id lne_regs args -- Join point; discard sequel - = do { cmm_args <- getNonVoidArgAmodes args + = do { adjustHpBackwards -- always do this before a tail-call + ; cmm_args <- getNonVoidArgAmodes args ; emitMultiAssign lne_regs cmm_args ; emit (mkBranch blk_id) } |