[project @ 2003-09-23 14:32:57 by simonmar]
authorsimonmar <unknown>
Tue, 23 Sep 2003 14:33:05 +0000 (14:33 +0000)
committersimonmar <unknown>
Tue, 23 Sep 2003 14:33:05 +0000 (14:33 +0000)
commitabbc5a0be1df84a33015470319062ed7a3aa3153
treead94e2b794c873d7458753f522f8ea0063119b5c
parent7256d590ac3be11e208d2e071fa49e1d5c60d98e
[project @ 2003-09-23 14:32:57 by simonmar]
- Convert many of the optimisation options into dynamic options (that is,
  they can be mentioned in {-# OPTIONS #-} pragmas).

- Add a new way to specify constructor-field unboxing on a selective
  basis.  To tell the compiler to unbox a constructor field, do this:

      data T = T !!Int

  and GHC will store that field unboxed if possible.  If it isn't possible
  (say, because the field has a sum type) then the annotation is ignored.

  The -funbox-strict-fields flag is now a dynamic flag, and has the same
  effect as replacing all the '!' annotations with '!!'.
20 files changed:
ghc/compiler/basicTypes/BasicTypes.lhs
ghc/compiler/basicTypes/DataCon.lhs
ghc/compiler/deSugar/DsListComp.lhs
ghc/compiler/deSugar/DsMeta.hs
ghc/compiler/ghci/InteractiveUI.hs
ghc/compiler/main/BinIface.hs
ghc/compiler/main/CmdLineOpts.lhs
ghc/compiler/main/DriverFlags.hs
ghc/compiler/main/DriverPipeline.hs
ghc/compiler/main/DriverState.hs
ghc/compiler/main/Main.hs
ghc/compiler/main/MkIface.lhs
ghc/compiler/main/TidyPgm.lhs
ghc/compiler/parser/Parser.y
ghc/compiler/rename/RnExpr.lhs
ghc/compiler/rename/RnHiFiles.lhs
ghc/compiler/rename/RnIfaces.lhs
ghc/compiler/simplCore/SimplCore.lhs
ghc/compiler/simplCore/SimplUtils.lhs
ghc/compiler/typecheck/TcTyDecls.lhs