[project @ 2002-02-11 08:20:38 by chak]
******************************* * Merging from ghc-ndp-branch * ******************************* This commit merges the current state of the "parallel array extension" and includes the following: * (Almost) completed Milestone 1: - The option `-fparr' activates the H98 extension for parallel arrays. - These changes have a high likelihood of conflicting (in the CVS sense) with other changes to GHC and are the reason for merging now. - ToDo: There are still some (less often used) functions not implemented in `PrelPArr' and a mechanism is needed to automatically import `PrelPArr' iff `-fparr' is given. Documentation that should go into the Commentary is currently in `ghc/compiler/ndpFlatten/TODO'. * Partial Milestone 2: - The option `-fflatten' activates the flattening transformation and `-ndp' selects the "ndp" way (where all libraries have to be compiled with flattening). The way option `-ndp' automagically turns on `-fparr' and `-fflatten'. - Almost all changes are in the new directory `ndpFlatten' and shouldn't affect the rest of the compiler. The only exception are the options and the points in `HscMain' where the flattening phase is called when `-fflatten' is given. - This isn't usable yet, but already implements function lifting, vectorisation, and a new analysis that determines which parts of a module have to undergo the flattening transformation. Missing are data structure and function specialisation, the unboxed array library (including fusion rules), and lots of testing. I have just run the regression tests on the thing without any problems. So, it seems, as if we haven't broken anything crucial.
Showing
- ghc/compiler/Makefile 2 additions, 2 deletionsghc/compiler/Makefile
- ghc/compiler/basicTypes/Unique.lhs 5 additions, 0 deletionsghc/compiler/basicTypes/Unique.lhs
- ghc/compiler/deSugar/Check.lhs 24 additions, 1 deletionghc/compiler/deSugar/Check.lhs
- ghc/compiler/deSugar/DsExpr.lhs 51 additions, 18 deletionsghc/compiler/deSugar/DsExpr.lhs
- ghc/compiler/deSugar/DsListComp.lhs 160 additions, 7 deletionsghc/compiler/deSugar/DsListComp.lhs
- ghc/compiler/deSugar/DsUtils.lhs 76 additions, 6 deletionsghc/compiler/deSugar/DsUtils.lhs
- ghc/compiler/deSugar/Match.lhs 13 additions, 2 deletionsghc/compiler/deSugar/Match.lhs
- ghc/compiler/hsSyn/HsExpr.lhs 45 additions, 10 deletionsghc/compiler/hsSyn/HsExpr.lhs
- ghc/compiler/hsSyn/HsPat.lhs 39 additions, 1 deletionghc/compiler/hsSyn/HsPat.lhs
- ghc/compiler/hsSyn/HsSyn.lhs 21 additions, 1 deletionghc/compiler/hsSyn/HsSyn.lhs
- ghc/compiler/hsSyn/HsTypes.lhs 12 additions, 3 deletionsghc/compiler/hsSyn/HsTypes.lhs
- ghc/compiler/main/CmdLineOpts.lhs 5 additions, 0 deletionsghc/compiler/main/CmdLineOpts.lhs
- ghc/compiler/main/DriverFlags.hs 4 additions, 1 deletionghc/compiler/main/DriverFlags.hs
- ghc/compiler/main/DriverState.hs 9 additions, 2 deletionsghc/compiler/main/DriverState.hs
- ghc/compiler/main/HscMain.lhs 26 additions, 19 deletionsghc/compiler/main/HscMain.lhs
- ghc/compiler/main/ParsePkgConf.y 4 additions, 3 deletionsghc/compiler/main/ParsePkgConf.y
- ghc/compiler/ndpFlatten/FlattenInfo.hs 43 additions, 0 deletionsghc/compiler/ndpFlatten/FlattenInfo.hs
- ghc/compiler/ndpFlatten/FlattenMonad.hs 454 additions, 0 deletionsghc/compiler/ndpFlatten/FlattenMonad.hs
- ghc/compiler/ndpFlatten/Flattening.hs 812 additions, 0 deletionsghc/compiler/ndpFlatten/Flattening.hs
- ghc/compiler/ndpFlatten/NDPCoreUtils.hs 175 additions, 0 deletionsghc/compiler/ndpFlatten/NDPCoreUtils.hs
Loading
Please register or sign in to comment