Re: Update on rustc/clang goodness

2018-06-04 Thread Sylvestre Ledru

Le 04/06/2018 à 08:50, Henri Sivonen a écrit :
> On Wed, May 30, 2018 at 5:16 PM, Mike Hommey  wrote:
>> On Wed, May 30, 2018 at 02:40:01PM +0300, Henri Sivonen wrote:
>>> The Linux distro case is
>>> trickier than Mozilla's compiler choice. For CPUs that are tier-3 for
>>> Mozilla, we already tolerate less great performance attributes in
>>> order to enable availability, so distros keeping using GCC for tier-3
>>> probably isn't a problem. x86_64 could be a problem, though. If
>>> Firefox's performance becomes significantly dependent on having
>>> cross-language inlining, and I expect it will, having a substantial
>>> portion of the user base run without it while thinking they have a
>>> top-tier build could be bad. I hope we can get x86_64 Linux distros to
>>> track our compiler configuration closely.
>> That part might end up more difficult than one could expect.
>> Cross-language inlining is going to require rustc and clang having a
>> compatible llvm ir, and that's pretty much guaranteed to be a problem,
>> even for Mozilla.
> I thought the rustc codebase supported building with unpatched LLVM in
> order to let distros maintain one copy of LLVM source (if not .so). Is
> that not the case?
It is indeed the case. Debian/Ubuntu remove LLVM sources in a repackaging
phase and use the libraries provided by the distribution.

We (Mozilla) are also already applying patches on our local clang
builds. Example:

https://dxr.mozilla.org/mozilla-central/source/build/build-clang/clang-6-pre-linux64.json?q=clang-6-pre-linux64.json_type=direct#17

S

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Update on rustc/clang goodness

2018-06-04 Thread Henri Sivonen
On Wed, May 30, 2018 at 5:16 PM, Mike Hommey  wrote:
> On Wed, May 30, 2018 at 02:40:01PM +0300, Henri Sivonen wrote:
>> The Linux distro case is
>> trickier than Mozilla's compiler choice. For CPUs that are tier-3 for
>> Mozilla, we already tolerate less great performance attributes in
>> order to enable availability, so distros keeping using GCC for tier-3
>> probably isn't a problem. x86_64 could be a problem, though. If
>> Firefox's performance becomes significantly dependent on having
>> cross-language inlining, and I expect it will, having a substantial
>> portion of the user base run without it while thinking they have a
>> top-tier build could be bad. I hope we can get x86_64 Linux distros to
>> track our compiler configuration closely.
>
> That part might end up more difficult than one could expect.
> Cross-language inlining is going to require rustc and clang having a
> compatible llvm ir, and that's pretty much guaranteed to be a problem,
> even for Mozilla.

I thought the rustc codebase supported building with unpatched LLVM in
order to let distros maintain one copy of LLVM source (if not .so). Is
that not the case?

Why couldn't Mozilla build clang with Rust's LLVM fork and use that
for building releases? (And move Rust's fork forward as needed.)

(Also, what Ehsan said about IR compat suggests these might not even
need to be as closely synced.)

-- 
Henri Sivonen
hsivo...@hsivonen.fi
https://hsivonen.fi/
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform