From c733b2d7d82b9c4f5d529460bd370dcf08a5b2e8 Mon Sep 17 00:00:00 2001
From: simonm <unknown>
Date: Mon, 8 Mar 1999 17:05:41 +0000
Subject: [PATCH] [project @ 1999-03-08 17:05:41 by simonm] Fix bug in
 mkRegLiveness causing bogus heap checks to be generated on the Sparc.

---
 ghc/compiler/codeGen/CgHeapery.lhs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ghc/compiler/codeGen/CgHeapery.lhs b/ghc/compiler/codeGen/CgHeapery.lhs
index 7bca34db45b4..6fa82c94f9ef 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
-- 
GitLab