summaryrefslogtreecommitdiff
path: root/ghc/compiler/codeGen
diff options
context:
space:
mode:
authorsimonm <unknown>1999-03-08 17:05:41 +0000
committersimonm <unknown>1999-03-08 17:05:41 +0000
commitc733b2d7d82b9c4f5d529460bd370dcf08a5b2e8 (patch)
treeec95ee4a63718bb46629f685a14f1f6ecf0e5ccc /ghc/compiler/codeGen
parent54edac78b06b27f8b02235b8774d36b0e82a5c0c (diff)
downloadhaskell-c733b2d7d82b9c4f5d529460bd370dcf08a5b2e8.tar.gz
[project @ 1999-03-08 17:05:41 by simonm]
Fix bug in mkRegLiveness causing bogus heap checks to be generated on the Sparc.
Diffstat (limited to 'ghc/compiler/codeGen')
-rw-r--r--ghc/compiler/codeGen/CgHeapery.lhs4
1 files changed, 2 insertions, 2 deletions
diff --git a/ghc/compiler/codeGen/CgHeapery.lhs b/ghc/compiler/codeGen/CgHeapery.lhs
index 7bca34db45..6fa82c94f9 100644
--- a/ghc/compiler/codeGen/CgHeapery.lhs
+++ b/ghc/compiler/codeGen/CgHeapery.lhs
@@ -1,7 +1,7 @@
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
-% $Id: CgHeapery.lhs,v 1.14 1999/03/02 16:09:28 simonm Exp $
+% $Id: CgHeapery.lhs,v 1.15 1999/03/08 17:05:41 simonm Exp $
%
\section[CgHeapery]{Heap management functions}
@@ -343,7 +343,7 @@ altHeapCheck is_fun regs [] AbsCNop Nothing code
mkRegLiveness :: [MagicId] -> Word#
mkRegLiveness [] = int2Word# 0#
mkRegLiveness (VanillaReg rep i : regs) | isFollowableRep rep
- = ((int2Word# 1#) `shiftL#` (i -# 1#))
+ = ((int2Word# 1#) `shiftL#` (i -# 1#)) `or#` mkRegLiveness regs
mkRegLiveness (_ : regs) = mkRegLiveness regs
-- Emit macro for simulating a fetch and then reschedule