Re: What's lacking: a good intermediate form

"Bartc" <bartc@freeuk.com>
Fri, 06 Mar 2009 15:34:57 GMT

          From comp.compilers

Related articles
[18 earlier articles]
Re: What's lacking: a good intermediate form tony@my.net (Tony) (2009-03-03)
Re: What's lacking: a good intermediate form comp.lang.misc@inglorion.net (Robbert Haarman) (2009-03-04)
Re: What's lacking: a good intermediate form max@gustavus.edu (Max Hailperin) (2009-03-05)
Re: What's lacking: a good intermediate form tony@my.net (Tony) (2009-03-05)
Re: What's lacking: a good intermediate form pertti.kellomaki@tut.fi (Pertti Kellomaki) (2009-03-06)
Re: What's lacking: a good intermediate form jon@ffconsultancy.com (Jon Harrop) (2009-03-06)
Re: What's lacking: a good intermediate form bartc@freeuk.com (Bartc) (2009-03-06)
Re: What's lacking: a good intermediate form comp.lang.misc@inglorion.net (Robbert Haarman) (2009-03-06)
Re: What's lacking: a good intermediate form tony@my.net (Tony) (2009-03-06)
Re: What's lacking: a good intermediate form cr88192@hotmail.com (cr88192) (2009-03-07)
Re: What's lacking: a good intermediate form tony@my.net (Tony) (2009-03-06)
Re: What's lacking: a good intermediate form max@gustavus.edu (Max Hailperin) (2009-03-07)
Re: What's lacking: a good intermediate form pertti.kellomaki@tut.fi (Pertti Kellomaki) (2009-03-09)
[9 later articles]
| List of all articles for this month |

From: "Bartc" <bartc@freeuk.com>
Newsgroups: comp.compilers
Date: Fri, 06 Mar 2009 15:34:57 GMT
Organization: Compilers Central
References: 09-02-132 09-02-136 09-02-144 09-03-003 09-03-010 09-03-019 09-03-023
Keywords: LLVM
Posted-Date: 06 Mar 2009 21:20:17 EST

Max Hailperin wrote:
> "Tony" <tony@my.net> writes:
> ....
>> I didn't reject LLVM. I was recently at the project website and got
>> the impression that their goals will not be achieved for many
>> years. Vaporware? ...
>> Again though, because LLVM project goals are so lofty, it may not be
>> available in my lifetime...


> "March 2, 2009: LLVM 2.5 is now available for download!"


Great. An executable that will compile source like:


define i32 @mul_add(i32 %x, i32 %y, i32 %z) {
entry:
    %tmp = mul i32 %x, %y
    %tmp2 = add i32 %tmp, %z
    ret i32 %tmp2
}


(from the llvm.org tutorial), into, presumably, some sort of assembler.


It doesn't work like that unfortunately. You need to already know how
half of it works in order to start to understand it. All I saw was a
'source download' of 6MB, plus a 'binaries download' of 16MB. Together
yielding some 73Mb in 3800 files that sadly I have no idea what to do
with. I didn't bother to download a 60+MB 'test-suite'.


What are the sources for? What are the binaries for? The tutorial
seemed to suggest that I have to create llvm in-memory using an API
that looked like C++. And the output was? It's so obvious (to them)
that they neglected to mention this, other than saying something about
a printout.


The Getting Started documention makes it clear this project is
intended for Linux, judging from the two-dozen linux-specific utilties
it expects to be available (I haven't mentioned what I had to go
through to deal with tar, gz and bz2 files, especially tar with it's
useless help info). I happen to use Windows.


I'd hesitate to say some better docs are needed, since there are
already some 44 lots of reference manuals, user-guides and documention
sets...


I'm not really being critical, just showing why perhaps some people
prefer to do their own thing. (There's nothing really wrong with
reinventing the wheel, when you're going to end up with a 6" wheel
which is perfect for you, instead of struggling to adapt a 100'
diameter 'standard' one)


> Moreover, LLVM is not just available *now*, it is in use *now*. Not
> just in student projects (which are probably comparable to your
> goals), but also in real products. Every iPhone is using LLVM.


(I wondered why my phone [not iPhone] takes several minutes to power
up... I get around it by never turning it off.)
--
Bartc


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.