From 6a61ff24ce4795b31cf063ef8252cd8cf047d835 Mon Sep 17 00:00:00 2001
From: simonm <unknown>
Date: Tue, 27 Apr 1999 15:23:29 +0000
Subject: [PATCH] [project @ 1999-04-27 15:23:29 by simonm] Mark PrimOp
 arguments as lazy.  This stops the simplifier throwing away cases, and is
 consistent with the way applications work.  We could probably do better by
 using the information from primOpStrictness.

---
 ghc/compiler/simplCore/OccurAnal.lhs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ghc/compiler/simplCore/OccurAnal.lhs b/ghc/compiler/simplCore/OccurAnal.lhs
index 5b021f0d0998..002517297cf2 100644
--- a/ghc/compiler/simplCore/OccurAnal.lhs
+++ b/ghc/compiler/simplCore/OccurAnal.lhs
@@ -606,6 +606,7 @@ occAnal env (Con con args)
 	-- arguments are just variables, or trivial expressions.
 	final_arg_uds    = case con of
 				DataCon _ -> mapVarEnv markMany arg_uds
+				PrimOp _  -> mapVarEnv markLazy arg_uds
 				other	  -> arg_uds
     in
     (final_arg_uds, Con con args')
-- 
GitLab