projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2002-03-18 15:23:05 by simonpj]
[ghc-hetmet.git]
/
ghc
/
compiler
/
basicTypes
/
Id.lhs
diff --git
a/ghc/compiler/basicTypes/Id.lhs
b/ghc/compiler/basicTypes/Id.lhs
index
9fa37b1
..
b1a4a1a
100644
(file)
--- a/
ghc/compiler/basicTypes/Id.lhs
+++ b/
ghc/compiler/basicTypes/Id.lhs
@@
-67,7
+67,7
@@
module Id (
idTyGenInfo,
idWorkerInfo,
idUnfolding,
idTyGenInfo,
idWorkerInfo,
idUnfolding,
- idSpecialisation,
+ idSpecialisation, idCoreRules,
idCgInfo,
idCafInfo,
idLBVarInfo,
idCgInfo,
idCafInfo,
idLBVarInfo,
@@
-82,7
+82,7
@@
module Id (
#include "HsVersions.h"
#include "HsVersions.h"
-import CoreSyn ( Unfolding, CoreRules )
+import CoreSyn ( Unfolding, CoreRules, IdCoreRule, rulesRules )
import BasicTypes ( Arity )
import Var ( Id, DictId,
isId, isExportedId, isSpecPragmaId, isLocalId,
import BasicTypes ( Arity )
import Var ( Id, DictId,
isId, isExportedId, isSpecPragmaId, isLocalId,
@@
-394,6
+394,9
@@
setIdNewDemandInfo id dmd = modifyIdInfo (`setNewDemandInfo` dmd) id
idSpecialisation :: Id -> CoreRules
idSpecialisation id = specInfo (idInfo id)
idSpecialisation :: Id -> CoreRules
idSpecialisation id = specInfo (idInfo id)
+idCoreRules :: Id -> [IdCoreRule]
+idCoreRules id = [(id,rule) | rule <- rulesRules (idSpecialisation id)]
+
setIdSpecialisation :: Id -> CoreRules -> Id
setIdSpecialisation id spec_info = modifyIdInfo (`setSpecInfo` spec_info) id
setIdSpecialisation :: Id -> CoreRules -> Id
setIdSpecialisation id spec_info = modifyIdInfo (`setSpecInfo` spec_info) id