summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-07-10 14:29:56 +0100
committerSimon Marlow <marlowsd@gmail.com>2012-07-11 10:03:21 +0100
commit97adc5de9bbb976a4ed816575041eb7ee5d8e670 (patch)
treeda23147e1074f29d9d013e7c6b60eaabbd4612ce /compiler/codeGen
parent560422565c7aa8016dd185f14044512cbbd4e660 (diff)
downloadhaskell-97adc5de9bbb976a4ed816575041eb7ee5d8e670.tar.gz
adjustHpBackwards before calling a let-no-escape
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/StgCmmExpr.hs3
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) }