On Fri, Jun 11, 2010 at 5:41 PM, Bill Hart <goodwillhart at googlemail.com> wrote:> What is i1? Sorry for the really daft question. These short > abbreviations are sometimes hard to look up.....1-bit integer; in practice, usually used like a boolean, although it supports the full complement of integer operations.>> There have really only been sporadic queries about practical support >> for real multi-precision arithmetic, but we'd welcome any >> improvements. > > Sure. I'm mainly thinking of LLVM's stated aim of "offering support > for other non-C languages", which is (a paraphrase of) what you have > somewhere, listed in the open projects on the LLVM site. It occurs to > me that bignum support is one thing that many languages require, but > currently have to use GMP for. If your language is BSD licensed > though, that is out of the question, hence some pretty poor bignum > implementations out there (I mean relatively speaking > performance-wise). > > There are obviously numerous ways we might use LLVM to aid development > of "bsdnt". I'll keep exploring those options. It sounds like, for the > time being, analysing existing code output and looking for ways to > improve it on certain arches is perhaps one way we may be of > assistance.Sounds like an interesting project. We're always happy to answer questions and add projects to the http://llvm.org/ProjectsWithLLVM/ page.> By the way, the LLVM website is absolutely spectacular. The attention > to detail is amazing. There were some things that I found oddly > difficult to find, and I am still mystified why I googled for such a > long time for something like LLVM (days of googling, not minutes) and > didn't hit upon it. I wonder if I simply overlooked it because I > thought it was "just" a JIT or virtual machine. > > Heh, ever thought of putting lots of terms like, "faster than C", > "high level assembly language", "lower level than C", "modern compiler > back end", "better than gcc's RTL", "similar to RTL", etc. on the > site, to make things more visible to a certain class of google > searches. (Better than gcc, faster than gcc, BSD licensed C compiler, > beats gcc in the programming language shootout - heh, naughty me). :-)I believe Chris wrote most of the copy on the homepage; perhaps he can comment. -Eli
>> There are obviously numerous ways we might use LLVM to aid development >> of "bsdnt". I'll keep exploring those options. It sounds like, for the >> time being, analysing existing code output and looking for ways to >> improve it on certain arches is perhaps one way we may be of >> assistance. > > Sounds like an interesting project. We're always happy to answer > questions and add projects to the http://llvm.org/ProjectsWithLLVM/ > page.As soon as we decide whether we can actually do what we hope, and when we actually have some code which is not imaginary, definitely I'll announce it here in the hope of getting a plug. :-) Believe it or not, one of the critical issues for one of our devs is Win64 support. I know that's not available at this point. If anyone has any comments on that, it would be great to know what the plans are, if any, for this. By the way, is it generally helpful if I post relevant C or IR sequences here which do not optimise as one would hope/expect? I think I have found some, but need to check.... Bignum stuff historically explores interesting corners of compiler technology :-) Bill.
On Fri, Jun 11, 2010 at 7:09 PM, Bill Hart <goodwillhart at googlemail.com> wrote:>>> There are obviously numerous ways we might use LLVM to aid development >>> of "bsdnt". I'll keep exploring those options. It sounds like, for the >>> time being, analysing existing code output and looking for ways to >>> improve it on certain arches is perhaps one way we may be of >>> assistance. >> >> Sounds like an interesting project. We're always happy to answer >> questions and add projects to the http://llvm.org/ProjectsWithLLVM/ >> page. > > As soon as we decide whether we can actually do what we hope, and when > we actually have some code which is not imaginary, definitely I'll > announce it here in the hope of getting a plug. :-) > > Believe it or not, one of the critical issues for one of our devs is > Win64 support. I know that's not available at this point. If anyone > has any comments on that, it would be great to know what the plans > are, if any, for this.The only issue I know of is http://llvm.org/bugs/show_bug.cgi?id=5005 ; perhaps someone else knows more.> By the way, is it generally helpful if I post relevant C or IR > sequences here which do not optimise as one would hope/expect? I think > I have found some, but need to check....Sure; send a bunch in a single email, and I'll make sure to go through them. Likely some are already in Bugzilla and/or the various README.txt files (lib/Target/README.txt, lib/Target/X86/README.txt, etc.). -Eli
On Jun 11, 2010, at 7:02 PM, Eli Friedman wrote:>> >> Heh, ever thought of putting lots of terms like, "faster than C", >> "high level assembly language", "lower level than C", "modern compiler >> back end", "better than gcc's RTL", "similar to RTL", etc. on the >> site, to make things more visible to a certain class of google >> searches. (Better than gcc, faster than gcc, BSD licensed C compiler, >> beats gcc in the programming language shootout - heh, naughty me). :-) > > I believe Chris wrote most of the copy on the homepage; perhaps he can comment.I'd prefer to avoid inflammatory stuff on the web page, and stick to quietly building better compilers and tools. The blog is a good place for advocacy though. -Chris