Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: How much value does llvm provide for a low-use laptop?
Date: Sun, 16 Apr 2017 15:44:06
Message-Id: pan$61237$e72b563f$65e41dd6$3bf0aed4@cox.net
In Reply to: [gentoo-amd64] How much value does llvm provide for a low-use laptop? by Mark Knecht
1 Mark Knecht posted on Sat, 15 Apr 2017 17:45:43 -0700 as excerpted:
2
3 > My wife is not looking for high performance and the machine uses
4 > nvidia-drivers. (If it matters)
5 >
6 > As best I can tell using equery the only package that seems to want it
7 > is mesa and there's a llvm flag implying maybe I can turn it off. I'm
8 > updating her machine and it's been grinding away on this one package for
9 > over 2 hours now. If it's not really required then I'd like to write it
10 > out of my future.
11
12 Please turn off the HTML posts.
13
14 General:
15
16 LLVM is a compiler, like gcc, but newer so in some cases not as
17 optimizing and licensed differently. Developers and some maintainers
18 like it because being a different implementation, it detects different
19 problems. Of course as a result code often has to be ported to work with
20 it if it has previously only been built with gcc, but once that work is
21 done, building on both compilers is a useful way to catch certain new
22 problems /before/ they get into actual shipped and running binaries.
23
24 Apple and the BSD folks like it because of the license. Unlike gcc,
25 which takes pains to make binary-blob plugins both illegal and broken,
26 they're allowed with llvm. So people can do the open core thing and keep
27 their secret sauce, whether it's super-optimizing or a useful hook for
28 the NSA, secret.
29
30 The llvm license also allows embedding parts of it into other programs as
31 JIT-compilers (just-in-time), etc, while gcc makes this problematic on
32 two fronts, technically gcc is simply not designed for it, it's more
33 monolithic and harder to suitably modularize, and legally, of course the
34 resulting code will need to be gplv3 or compatible licensed, as is gcc
35 itself, and many authors object to that. But the newer llvm code is
36 already more modular, and the more liberal license allows embedding in
37 non-gpl3-compatible code.
38
39 Specific:
40
41 The LLVM license works better with the MIT-licensed X11/Mesa/Wayland, and
42 they've taken advantage of this and its modularity to use it to implement
43 their shadow compilers and etc for newer open-gl, egl, and vulkan. This
44 is effectively an instance of the JIT-compiler/VM embedding mentioned in
45 paragraph 3 above.
46
47 LLVM is also used, via the same mesa machinery I believe, to enable opencl
48 (using the gpus as compute nodes to accelerate certain calculations,
49 probably most popularly bitcoin generation).
50
51 AMD's Radeon X11/mesa/wayland drivers to some extent and AMDGPU to a much
52 larger extent, depend on this this code. If you're running amdgpu
53 graphics, disabling this will really cripple your card and drivers if
54 they work at all, while with radeon, it's a bit more optional and indeed
55 unnecessary for the older cards, while the newer cards make use of it for
56 some opengl features (but AFAIK radeon isn't getting vulkan at all).
57
58 If you're not using radeon/amdgpu, you can probably disable it with
59 little consequence.
60
61 --
62 Duncan - List replies preferred. No HTML msgs.
63 "Every nonfree program has a lord, a master --
64 and if you use the program, he is your master." Richard Stallman

Replies