nr 2004/12/12 06:48:43 PST
Modified files: (Branch: CgCmmBranch)
ghc/compiler/cmm Cmm.hs MachOp.hs PprC.hs PprCmm.hs
ghc/compiler/codeGen CgBindery.lhs CgCps.hs CgInfoTbls.hs
CgUtils.hs
ghc/compiler/nativeGen AsmCodeGen.lhs MachCodeGen.hs
PositionIndependentCode.hs PprMach.hs
RegisterAlloc.hs
ghc/compiler/utils UniqFM.lhs
Added files: (Branch: CgCmmBranch)
ghc/compiler/cmm CmmAnalyses.hs CmmDataflow.hs
Log:
(On the branch exploring code generation based on C--)
The compiler builds.
On the direct path to C--
~~~~~~~~~~~~~~~~~~~~~~~~~
MachOps should now be emitted using the correct C-- syntax.
More small corrections to C-- prettyprinting.
A two-phase code generator
~~~~~~~~~~~~~~~~~~~~~~~~~~
Built the world's slowest dataflow framework, suitable to a tired
person who has spent too much time on airplanes. It will need to be
redone for efficiency, but it should be good enough to test
transformation of small, hand-written C-- programs. (It can't be
tested on Haskell input because the only analysis requires calls,
which ghc doesn't generate.)
Built a liveness analysis and an annotator that adds liveness
information to Flow edges (which was the point after all).
Identified some issues with the Cmm representation which should be
discussed (probably impinge on native code generator), of which the
most prominent are:
* trouble recovering metadata for some LocalReg
* native calls and foreign calls are different
* distinction between continuations and blocks might be awkward
Updated codeGen and nativeGen to be consistent with changes in Cmm.
Miscellaneous
~~~~~~~~~~~~~
Added 'anyUFM' and 'allUFM' to the UniqFM module. It would be a kind
act for somebody to review my code and see if I should have done
something different.
There are lots of compiler warnings. Even in the new code, I'm not
always sure how to get rid of them all.
Revision Changes Path
1.3.2.7 +52 -8 fptools/ghc/compiler/cmm/Cmm.hs
1.4.6.1 +58 -1 fptools/ghc/compiler/cmm/MachOp.hs
1.11.2.2 +4 -3 fptools/ghc/compiler/cmm/PprC.hs
1.4.2.3 +40 -11 fptools/ghc/compiler/cmm/PprCmm.hs
1.55.2.1 +1 -1 fptools/ghc/compiler/codeGen/CgBindery.lhs
1.1.2.8 +24 -17 fptools/ghc/compiler/codeGen/Attic/CgCps.hs
1.5.2.2 +1 -1 fptools/ghc/compiler/codeGen/CgInfoTbls.hs
1.9.2.3 +5 -3 fptools/ghc/compiler/codeGen/CgUtils.hs
1.63.2.2 +18 -12 fptools/ghc/compiler/nativeGen/AsmCodeGen.lhs
1.3.2.2 +24 -18 fptools/ghc/compiler/nativeGen/MachCodeGen.hs
1.5.2.1 +7 -5 fptools/ghc/compiler/nativeGen/PositionIndependentCode.hs
1.3.2.1 +4 -3 fptools/ghc/compiler/nativeGen/PprMach.hs
1.2.6.1 +7 -4 fptools/ghc/compiler/nativeGen/RegisterAlloc.hs
1.39.2.1 +22 -0 fptools/ghc/compiler/utils/UniqFM.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc