projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 1998-04-07 16:40:08 by simonpj]
[ghc-hetmet.git]
/
ghc
/
compiler
/
coreSyn
/
CoreUnfold.lhs
diff --git
a/ghc/compiler/coreSyn/CoreUnfold.lhs
b/ghc/compiler/coreSyn/CoreUnfold.lhs
index
5d285ff
..
d06fd93
100644
(file)
--- a/
ghc/compiler/coreSyn/CoreUnfold.lhs
+++ b/
ghc/compiler/coreSyn/CoreUnfold.lhs
@@
-53,6
+53,7
@@
import Id ( Id, idType, getIdArity, isBottomingId, isDataCon,
IdSet )
import PrimOp ( fragilePrimOp, primOpCanTriggerGC )
import IdInfo ( ArityInfo(..), InlinePragInfo(..) )
IdSet )
import PrimOp ( fragilePrimOp, primOpCanTriggerGC )
import IdInfo ( ArityInfo(..), InlinePragInfo(..) )
+import Name ( isExported )
import Literal ( isNoRepLit )
import TyCon ( tyConFamilySize )
import Type ( splitAlgTyConApp_maybe )
import Literal ( isNoRepLit )
import TyCon ( tyConFamilySize )
import Type ( splitAlgTyConApp_maybe )
@@
-513,7
+514,9
@@
rule this out. Since ManyOcc doesn't record FunOcc/ArgOcc
inlineUnconditionally :: (Id,BinderInfo) -> Bool
inlineUnconditionally (id, occ_info)
inlineUnconditionally :: (Id,BinderInfo) -> Bool
inlineUnconditionally (id, occ_info)
- | idMustNotBeINLINEd id = False
+ | idMustNotBeINLINEd id
+ || isExported id
+ = False
| isOneSameSCCFunOcc occ_info
&& idWantsToBeINLINEd id = True
| isOneSameSCCFunOcc occ_info
&& idWantsToBeINLINEd id = True