[project @ 1998-05-22 15:23:11 by simonm]
authorsimonm <unknown>
Fri, 22 May 1998 15:23:51 +0000 (15:23 +0000)
committersimonm <unknown>
Fri, 22 May 1998 15:23:51 +0000 (15:23 +0000)
commitf36fb2ce821caf594c1db5669dd10ca082f66361
tree4964ea970f1dbd28fb400df68b559740586e0e2b
parentab29b7806ead26dbebc9e04b54fec078e97ea104
[project @ 1998-05-22 15:23:11 by simonm]
Add NOINLINE pragma.

- add new type of inline info: IDontWantToBeINLINEd

- hopefully get the interactions between IMustNotBeINLINEd (which is
  used by the simplifier to ensure termination when simplifying
  recursive binding groups) and IDontWantToBeINLINEd.

- no need to pass NOINLINE across modules, we just make sure that any
  function marked as NOLINE doesn't get an unfolding in the interface.
13 files changed:
ghc/compiler/basicTypes/Id.lhs
ghc/compiler/basicTypes/IdInfo.lhs
ghc/compiler/codeGen/ClosureInfo.lhs
ghc/compiler/coreSyn/CoreUnfold.lhs
ghc/compiler/hsSyn/HsBinds.lhs
ghc/compiler/main/MkIface.lhs
ghc/compiler/parser/binding.ugn
ghc/compiler/parser/hslexer.flex
ghc/compiler/parser/hsparser.y
ghc/compiler/reader/ReadPrefix.lhs
ghc/compiler/rename/RnBinds.lhs
ghc/compiler/typecheck/TcBinds.lhs
ghc/compiler/typecheck/TcClassDcl.lhs