From fcf3021036cc40a6ebe582e2b471f1824024220b Mon Sep 17 00:00:00 2001
From: sof <unknown>
Date: Thu, 5 Jun 1997 22:31:22 +0000
Subject: [PATCH] [project @ 1997-06-05 22:31:22 by sof] import updates

---
 ghc/compiler/coreSyn/CoreUnfold.lhs | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/ghc/compiler/coreSyn/CoreUnfold.lhs b/ghc/compiler/coreSyn/CoreUnfold.lhs
index f15a370337db..0111031a10d8 100644
--- a/ghc/compiler/coreSyn/CoreUnfold.lhs
+++ b/ghc/compiler/coreSyn/CoreUnfold.lhs
@@ -32,10 +32,15 @@ module CoreUnfold (
     ) where
 
 IMP_Ubiq()
+#if defined (__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(IdLoop)	 -- for paranoia checking;
 		 -- and also to get mkMagicUnfoldingFun
 IMPORT_DELOOPER(PrelLoop)  -- for paranoia checking
 IMPORT_DELOOPER(SmplLoop)
+#else
+import {-# SOURCE #-} MagicUFs
+import {-# SOURCE #-} Id ( Id )
+#endif
 
 import Bag		( emptyBag, unitBag, unionBags, Bag )
 
@@ -224,13 +229,15 @@ simple variables and constants, and type applications.
 exprIsTrivial (Var v) 		= True
 exprIsTrivial (Lit lit)         = not (isNoRepLit lit)
 exprIsTrivial (App e (TyArg _)) = exprIsTrivial e
+exprIsTrivial (Coerce _ _ e)    = exprIsTrivial e
 exprIsTrivial other		= False
 \end{code}
 
 \begin{code}
-exprSmallEnoughToDup (Con _ _)   = True	-- Could check # of args
-exprSmallEnoughToDup (Prim op _) = not (fragilePrimOp op) -- Could check # of args
-exprSmallEnoughToDup (Lit lit)   = not (isNoRepLit lit)
+exprSmallEnoughToDup (Con _ _)      = True	-- Could check # of args
+exprSmallEnoughToDup (Prim op _)    = not (fragilePrimOp op) -- Could check # of args
+exprSmallEnoughToDup (Lit lit)      = not (isNoRepLit lit)
+exprSmallEnoughToDup (Coerce _ _ e) = exprSmallEnoughToDup e
 exprSmallEnoughToDup expr
   = case (collectArgs expr) of { (fun, _, _, vargs) ->
     case fun of
-- 
GitLab