Helllo Aleksi, On Thu, Mar 11, 2010 at 12:28 AM, Aleksi Nurmi <[email protected]> wrote: > 2010/3/11 Sandro Magi <[email protected]>: >> Haskell is migrating away from their C-- backend, and they also have a >> new LLVM backend which is generating quite a bit of buzz. With >> Haskell, OCaml, and ATS bindings, LLVM is the backend of choice. >> >> I'm not too concerned about the unsafe language behind LLVM, as there >> wasn't much choice at the time for domains LLVM is used. If it truly >> becomes a concern, some intrepid PhD candidate will devise an LLVM >> pass or two that verifies some properties of the generated code ala >> TALx86 or PCC. > > The Haskell LLVM backend actually transforms Cmm (C-- with some > extensions) to LLVM.[1] > > Perhaps the most important property of BitC's backend language are its > features regarding garbage collection. I don't know if the Haskell > Cmm->LLVM backend uses LLVM's GC features (well, we can be sure that > it doesn't use the shadow stack); the problem may be already solved at > the Cmm level? > > [1] www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf
These two wiki pages discuss how C-- works with GHC's Native Code Generator: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/NCG The C-- compiler for GHC is embedded in GHC, thus it is not a standalone compiler. I believe BitC could use GHC to compile C-- to native code. Thanks. -- Donnie _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
