summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorPatrick Palka <patrick@parcs.ath.cx>2013-12-01 12:47:33 -0500
committerPatrick Palka <patrick@parcs.ath.cx>2013-12-01 15:54:04 -0500
commitac31b79924e9330c577ea63af9b0f10f4fc6c8f6 (patch)
treef7a7a310dfd68a1adb74e175b9cfc13a6f5fb2e7 /compiler/codeGen
parent6178f6e162a3a2f2e9f7103d7ca94bbed16b39ec (diff)
downloadhaskell-ac31b79924e9330c577ea63af9b0f10f4fc6c8f6.tar.gz
Move the LDV code below the self-loop label (#8275)
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/StgCmmBind.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs
index 41e549e636..64772c66ce 100644
--- a/compiler/codeGen/StgCmmBind.hs
+++ b/compiler/codeGen/StgCmmBind.hs
@@ -476,12 +476,12 @@ closureCodeBody top_lvl bndr cl_info cc args arity body fv_details
; dflags <- getDynFlags
; let node_points = nodeMustPointToIt dflags lf_info
node' = if node_points then Just node else Nothing
- ; when node_points (ldvEnterClosure cl_info (CmmLocal node))
-- Emit new label that might potentially be a header
-- of a self-recursive tail call. See Note
-- [Self-recursive tail calls] in StgCmmExpr
; loop_header_id <- newLabelC
; emitLabel loop_header_id
+ ; when node_points (ldvEnterClosure cl_info (CmmLocal node))
-- Extend reader monad with information that
-- self-recursive tail calls can be optimized into local
-- jumps