I've been writing an Elsa to LLVM interface.
It has been going very well, I think both sets of software are very nice.
At this point I've been able to compile and run a small program (sieve.c).
I've also compiled a pretty complete version of printf(). (It seemed like
a good choice because it touches many data types, varargs, etc.)
I've had to make quite a few changes to Elsa to get this going, but so far
I haven't had to touch LLVM.
I got the current version of LLVM via svn yesterday and modified my code to
use the LLVMFoldingBuilder. Very nice!
My question is this: I noticed that the folding builder doesn't fold some
operations, e.g. casts. Is there some reason why? If I implemented some of
these unhandled cases could I sumbit the changes back to the LLVM project?