summaryrefslogtreecommitdiff
path: root/compiler/codeGen
diff options
context:
space:
mode:
authorMichael D. Adams <t-madams@microsoft.com>2007-07-02 08:42:21 +0000
committerMichael D. Adams <t-madams@microsoft.com>2007-07-02 08:42:21 +0000
commita2d5d3c9677a740ace920a976d03dfbd82f7697b (patch)
tree577508b8b12a0ee43c48a19ec54e1b1ee28de166 /compiler/codeGen
parent603bf8c5496b9ac71552e7097eb88ad97db15e70 (diff)
downloadhaskell-a2d5d3c9677a740ace920a976d03dfbd82f7697b.tar.gz
Multiple improvements to CPS algorithm.
These include: - Stack size detection now includes function arguments. - Stack size detection now avoids stack checks just because of the GC block. - A CmmCall followed by a CmmBranch will no longer generate an extra continuation consisting just of the brach. - Multiple CmmCall/CmmBranch pairs that all go to the same place will try to use the same continuation. If they can't (because the return value signature is different), adaptor block are built. - Function entry statements are now in a separate block. (Fixed bug with branches to the entry block having unintended effects.) - Other changes that I can't recall right now.
Diffstat (limited to 'compiler/codeGen')
-rw-r--r--compiler/codeGen/ClosureInfo.lhs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/codeGen/ClosureInfo.lhs b/compiler/codeGen/ClosureInfo.lhs
index db4636866d..d0d2ed98b2 100644
--- a/compiler/codeGen/ClosureInfo.lhs
+++ b/compiler/codeGen/ClosureInfo.lhs
@@ -124,6 +124,7 @@ data ClosureInfo
data C_SRT = NoC_SRT
| C_SRT !CLabel !WordOff !StgHalfWord {-bitmap or escape-}
+ deriving (Eq)
needsSRT :: C_SRT -> Bool
needsSRT NoC_SRT = False