Gollvm from Google
go.googlesource.com
Gollvm from Google
1–10 of 51 posts
Re: Gollvm from Google
#2Re: Gollvm from Google
#3Re: Gollvm from Google
#4Super great name!
Re: Gollvm from Google
#5Re: Gollvm from Google
#6Re: Gollvm from Google
#7Not sure I get it: so Gollvm (=llvm-goparse?) can be used as compiler, but not as a linker (yet?), so gccgo's linker can be used? Also, Go runtime and standard libraries can't be compiled with Gollvm? If standard libs can't be compiled, then how can I know if my app can be compiled?
I know a project named "llvm-go" was started quite long ago, and had somewhat slow (compared to gccgo) progress because of few, non-Google contributors (probably hobbyists); is this the same work? is it just still in progress, but somewhat more (how much?) advanced now?
Some additional googling shows a similarly named project (https://github.com/go-llvm/llvm), which from its readme seems absorbed by LLVM proper, and is subtitled "LLVM bindings for [Go]" (http://llvm.org/svn/llvm-project/llvm/trunk/bindings/go/READ...). Is this the same project, or something more, or something else? [EDIT:] Ok, based on the CONTRIBUTORS file, it's a totally different project, at least one question cleared. (https://go.googlesource.com/gollvm/+/master/CONTRIBUTORS)
Re: Gollvm from Google
#8I thought this project was very old and perhaps even abandoned? I wonder if I'm confusing it with a similar project, or perhaps this project was revived? Maybe I'm just mistaken...
Yes, you're confusing it with this project: https://github.com/go-llvm/llvm
Re: Gollvm from Google
#9> entry:
> %"$ret0" = alloca i64
> store i64 0, i64* %"$ret0"
> store i64 1, i64* %"$ret0"
> %"$ret0.ld.0" = load i64, i64* %"$ret0"
> ret i64 %"$ret0.ld.0"
> }
Can someone knowledgeable with Go, explain what's happening here? Why does it store a 0 and then a 1 in "$ret0"? Why does it allocate a single integer on the stack? (is it because this is just intermediate code for a virtual machine?) and all of that just to return a 1.
Re: Gollvm from Google
#10"At the moment llvm-goparse is not capable of building the Go libraries + runtime (libgo), which makes it difficult/unwieldy to use for running actual Go programs. As an interim workaround, I've written a shim/wrapper script that allows you to use llvm-goparse in combination with an existing GCCGO installation, using gccgo for the runtime/libraries and the linking step, but llvm-goparse for any compilation." Not sure…
Compare the source code:
http://llvm.org/svn/llvm-project/llvm/trunk/bindings/go/llvm...
https://go.googlesource.com/gollvm/+/master/llvm-gofrontend/