From: simonm Date: Tue, 27 Apr 1999 15:23:29 +0000 (+0000) Subject: [project @ 1999-04-27 15:23:29 by simonm] X-Git-Tag: Approximately_9120_patches~6287 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=6a61ff24ce4795b31cf063ef8252cd8cf047d835;p=ghc-hetmet.git [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. --- diff --git a/ghc/compiler/simplCore/OccurAnal.lhs b/ghc/compiler/simplCore/OccurAnal.lhs index 5b021f0..0025172 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')