Skip to content
Snippets Groups Projects
Commit fcf30210 authored by sof's avatar sof
Browse files

[project @ 1997-06-05 22:31:22 by sof]

import updates
parent e558ad0e
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment