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

Reply via email to