[llvm-dev] State of llgo in monorepo?

34 views
Skip to first unread message

Raphael Isemann via llvm-dev

unread,
Feb 10, 2020, 11:43:04 AM2/10/20
to llvm-dev
Hi all,

the monorepo contains a Go frontend called 'llgo' (in the llgo/ top
level folder). It apparently hasn't been active since 2017 and before
that it wasn't very active either (there were 13 commits in 2016
apparently, most of it minor fixes).

I would propose that we remove it from the monorepo for the following reasons:

* It is apparently unmaintained.
* It only supports a long outdated Go version (1.5 while latest is 1.13 or so).
* It doesn't build (at least on my machine) due to runtime errors (the
build log is really unhelpful in telling me what actually went wrong).
In general the build system is kinda flawed as it seems to just
manually run 'make' as a single custom build step (even with a -GNinja
build).
* It contains a full copy of Mark Twain's novel "The Adventures of Tom
Sawyer". It gets really tiring to blacklist this file on my desktop
search engine as it otherwise constantly comes up in unrelated
searches for words that are by accident in this novel.
* The sources of multiple third party libraries are copied into its
third party directory. It would be nice not to have random code in the
LLVM repo under a different license than LLVM.
* It's the only reason why we maintain some Go support in LLVM's CMake
(like llvm_add_go_executable ).

Thoughts?

- Raphael
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Jonas Devlieghere via llvm-dev

unread,
Feb 10, 2020, 12:17:28 PM2/10/20
to Raphael Isemann, llvm-dev
Thanks for bringing this up! Strong +1 from me for all the reasons
you've mentioned.

David Blaikie via llvm-dev

unread,
Feb 10, 2020, 12:49:53 PM2/10/20
to Jonas Devlieghere, llvm-dev
Yep - delete it. If someone wants it back they can resurrect it from version control & explain why it's worth adding back in.

Eric Christopher via llvm-dev

unread,
Feb 10, 2020, 12:57:04 PM2/10/20
to David Blaikie, Peter Collingbourne, llvm-dev
Calling pcc real fast :)

-eric

Peter Collingbourne via llvm-dev

unread,
Feb 10, 2020, 1:00:14 PM2/10/20
to Eric Christopher, llvm-dev, Peter Collingbourne, Andrew Wilkins
Sure, that's fine with me.

Peter
--
-- 
Peter

Eric Christopher via llvm-dev

unread,
Feb 10, 2020, 1:03:30 PM2/10/20
to Peter Collingbourne, llvm-dev, Peter Collingbourne, Andrew Wilkins
OK. I'll get it.

-eric

Eric Christopher via llvm-dev

unread,
Feb 10, 2020, 1:12:56 PM2/10/20
to Peter Collingbourne, llvm-dev, Peter Collingbourne, Andrew Wilkins
Done thusly:

echristo@athyra ~/r/llvm-project> git push
To github.com:llvm/llvm-project.git
   936d1427da1..372bfc65deb  master -> master

Doerfert, Johannes via llvm-dev

unread,
Feb 10, 2020, 3:12:37 PM2/10/20
to Eric Christopher via llvm-dev, Peter Collingbourne, Andrew Wilkins, Peter Collingbourne
Do we still need these:
https://llvm.org/docs/CodingStandards.html#guidelines-for-go-code


---------------------------------------
Johannes Doerfert
Researcher

Argonne National Laboratory
Lemont, IL 60439, USA

jdoe...@anl.gov

________________________________________
From: llvm-dev <llvm-dev...@lists.llvm.org> on behalf of Eric Christopher via llvm-dev <llvm...@lists.llvm.org>
Sent: Monday, February 10, 2020 12:12
To: Peter Collingbourne
Cc: llvm-dev; Peter Collingbourne; Andrew Wilkins
Subject: Re: [llvm-dev] State of llgo in monorepo?

Done thusly:

echristo@athyra ~/r/llvm-project> git push
To github.com:llvm/llvm-project.git
936d1427da1..372bfc65deb master -> master

On Mon, Feb 10, 2020 at 10:02 AM Eric Christopher <echr...@gmail.com<mailto:echr...@gmail.com>> wrote:
OK. I'll get it.

-eric

On Mon, Feb 10, 2020 at 9:58 AM Peter Collingbourne <pe...@pcc.me.uk<mailto:pe...@pcc.me.uk>> wrote:
Sure, that's fine with me.

Peter

On Mon, Feb 10, 2020 at 9:57 AM Eric Christopher via llvm-dev <llvm...@lists.llvm.org<mailto:llvm...@lists.llvm.org>> wrote:
Calling pcc real fast :)

-eric

On Mon, Feb 10, 2020 at 9:49 AM David Blaikie via llvm-dev <llvm...@lists.llvm.org<mailto:llvm...@lists.llvm.org>> wrote:
Yep - delete it. If someone wants it back they can resurrect it from version control & explain why it's worth adding back in.

> llvm...@lists.llvm.org<mailto:llvm...@lists.llvm.org>


> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
_______________________________________________
LLVM Developers mailing list

llvm...@lists.llvm.org<mailto:llvm...@lists.llvm.org>


https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
_______________________________________________
LLVM Developers mailing list

llvm...@lists.llvm.org<mailto:llvm...@lists.llvm.org>


https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
_______________________________________________
LLVM Developers mailing list

llvm...@lists.llvm.org<mailto:llvm...@lists.llvm.org>
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


--
--
Peter

Eli Friedman via llvm-dev

unread,
Feb 10, 2020, 3:15:46 PM2/10/20
to Doerfert, Johannes, Peter Collingbourne, llvm-dev, Andrew Wilkins, Peter Collingbourne
We still have code written in go in the tree, in llvm/bindings/go/.

-Eli
> On Mon, Feb 10, 2020 at 9:57 AM Eric Christopher via llvm-dev <llvm-
> d...@lists.llvm.org<mailto:llvm...@lists.llvm.org>> wrote:
> Calling pcc real fast :)
>
> -eric
>
> On Mon, Feb 10, 2020 at 9:49 AM David Blaikie via llvm-dev <llvm-
> d...@lists.llvm.org<mailto:llvm...@lists.llvm.org>> wrote:
> Yep - delete it. If someone wants it back they can resurrect it from version
> control & explain why it's worth adding back in.
>

Raphael “Teemperor” Isemann via llvm-dev

unread,
Feb 14, 2020, 2:47:01 AM2/14/20
to Eric Christopher, llvm-dev, Andrew Wilkins, Peter Collingbourne
So just to summarise what happened outside the mailing list:
* We removed llvm-go
* We also removed/fixed several things that referenced llvm-go in the following days.
* We reverted all of that (apparently to test LLVM’s Go bindings with llvm-go instead of system Go)

So from what I understand the only reason llvm-go is in tree is to test the bindings? It’s also not clear to me why we can’t use the normal go compiler for testing them (like we test the ocaml bindings with the system ocamlc).

James Y Knight via llvm-dev

unread,
Feb 14, 2020, 9:40:44 AM2/14/20
to Raphael “Teemperor” Isemann, llvm-dev, Andrew Wilkins, Peter Collingbourne
Nope, it wasn't all reverted -- the llgo implementation remains deleted.

There's been some confusion borne out of unfortunate naming -- only the file "llvm/tools/llvm-go/llvm-go.go" was reinstated. Despite its confusing name, this tool is not a go implementation, and has effectively nothing to do with llgo. It's only a tiny utility script used by the llvm build process for running go programs with the desired set of environment variables.

From the comment in the file: 
This tool lets us build LLVM components within the tree by setting up a $GOPATH that resembles a tree fetched in the normal way with "go get".

(FWIW, I had the exact same reaction as you, before realizing the above.)

Philip Reames via llvm-dev

unread,
Feb 14, 2020, 5:28:32 PM2/14/20
to James Y Knight, Raphael “Teemperor” Isemann, llvm-dev, Andrew Wilkins, Peter Collingbourne

Thanks for clarifying.  I had skimmed the commits and had the exact same (wrong) impression.  :)

Philip

Hans Wennborg via llvm-dev

unread,
Aug 25, 2020, 2:18:54 PM8/25/20
to James Y Knight, llvm-dev, Andrew Wilkins, Peter Collingbourne
Can someone add a mention about the llgo removal to the release notes?

Thanks,
Hans

Eric Christopher via llvm-dev

unread,
Aug 25, 2020, 6:55:39 PM8/25/20
to Hans Wennborg, llvm-dev, Andrew Wilkins, Peter Collingbourne
"The llgo frontend has been removed for now, but may be resurrected in the future."

Thoughts?

-eric

Peter Collingbourne via llvm-dev

unread,
Aug 25, 2020, 7:22:11 PM8/25/20
to Eric Christopher, llvm-dev, Andrew Wilkins
SGTM.

Peter

Hans Wennborg via llvm-dev

unread,
Aug 26, 2020, 9:16:51 AM8/26/20
to Peter Collingbourne, llvm-dev, Andrew Wilkins
Committed in 03c8e1cc7efabd122294e1cd670fba6d544f2831. Thanks!

Eric Christopher via llvm-dev

unread,
Aug 26, 2020, 9:17:40 AM8/26/20
to Hans Wennborg, llvm-dev, Andrew Wilkins, Peter Collingbourne
Thank you!
Reply all
Reply to author
Forward
0 new messages