Live data from Hacker News

Gollvm from Google

go.googlesource.com

21–30 of 51 posts

Re: Gollvm from Google

#22
post #20
post #19

Earlier quoted context omitted.

Does Google think they can do a better job?

I don't really know, but I would be suprised if that is the intent of the project because: 1. The maintainer of llgo is a Google employee (and a very talented LLVM engineer). 2. I don't imagine there would be tremendous differences in the strategies used to generate LLVM IR between the tools. ISTM, if there are deficiencies in llgo, then it would be better to fix them rather than creating a whole new tool.

If you take advantage of the two-hour edit window and remove the spaces in front of 1 and 2, it will be easier to read, especially on mobile:

1. The maintainer of llgo is a Google employee (and a very talented LLVM engineer).

2. I don't imagine there would be tremendous differences in the strategies used to generate LLVM IR between the tools. ISTM, if there are deficiencies in llgo, then it would be better to fix them rather than creating a whole new tool.

Re: Gollvm from Google

#27

This means we could write numerical code in Go and get auotvectorized assembly and use GPUs via the nvptx backend. Neat!

Go is a GC language. Only a strict subset would be amenable to running on a GPU.

There's no reason GC couldn't work on GPUs. No one just has bothered implementing it yet.

Re: Gollvm from Google

#28
post #17
post #16

Earlier quoted context omitted.

Better optimizations? AFAIR, the go compiler does some optimizations, but it does not bend over backwards, exactly. Maybe hooking up to llvm can help with that, if it is a goal. (Mmmh, does LLVM optmize at all, or does it just provide a framework for people trying to build optimizing compilers? I don't really know.) Also, llvm by now reaches far more platforms than the current go compiler. I think that this is the mo…

But gccgo already exists, and provides an optimizing compiler backend and extended platform support. And the tools in LLVM's ecosystem seem largely useless to Go (no need for asan et al when you have a GC, and no need for tsan when Go already has an optional race detector). Other than the compiler itself having a permissive license, I see no urgent impetus for an LLVM backend for Go, which likely explains why it's ta…

LLVM has better support for moving GC, due to Azul's efforts. That's a big difference.

Re: Gollvm from Google

#29
It looks like Google employee was working on this in his own time for several months (https://github.com/thanm/dragongo) and now the project has been "adopted" by Google/Go team.

By "adopted" I mean that:

* the code was moved to the same git hosting infrastructure that also hosts official Go compiler and libraries owned by Go team

* the license was changed from Apache to the same BSD license as Go compiler

* another Google employee is contributing to the code

* initial checkin was made by Russ Cox, who is pretty much the lead for Go project

All that implies that this has a blessing of the Go team

Post reply on HN