diff options
author | Patrick Palka <patrick@parcs.ath.cx> | 2013-12-01 12:47:33 -0500 |
---|---|---|
committer | Patrick Palka <patrick@parcs.ath.cx> | 2013-12-01 15:54:04 -0500 |
commit | ac31b79924e9330c577ea63af9b0f10f4fc6c8f6 (patch) | |
tree | f7a7a310dfd68a1adb74e175b9cfc13a6f5fb2e7 /compiler/codeGen | |
parent | 6178f6e162a3a2f2e9f7103d7ca94bbed16b39ec (diff) | |
download | haskell-ac31b79924e9330c577ea63af9b0f10f4fc6c8f6.tar.gz |
Move the LDV code below the self-loop label (#8275)
Diffstat (limited to 'compiler/codeGen')
-rw-r--r-- | compiler/codeGen/StgCmmBind.hs | 2 |
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 |