Stream: t-compiler/meetings

Topic: [weekly meeting] 2020-07-16 #54818


Santiago Pastorino (Jul 15 2020 at 16:02, on Zulip):

Hi @T-compiler/meeting; the triage meeting will happen tomorrow at 2pm UTC

Santiago Pastorino (Jul 15 2020 at 16:02, on Zulip):

The @WG-prioritization have done pre-triage in #t-compiler/wg-prioritization

Santiago Pastorino (Jul 15 2020 at 16:02, on Zulip):

@WG-prioritization have prepared the meeting agenda

Santiago Pastorino (Jul 15 2020 at 16:03, on Zulip):

We will have checkins from @WG-rustc-dev-guide and @WG-llvm

Santiago Pastorino (Jul 15 2020 at 16:04, on Zulip):

@mark-i-m do you want to share about @WG-rustc-dev-guide? otherwise I can, I think our check-ins document is more or less up to date :)

Santiago Pastorino (Jul 15 2020 at 16:05, on Zulip):

@nagisa do you have something you want to share about @WG-llvm?

Santiago Pastorino (Jul 15 2020 at 16:13, on Zulip):

@T-compiler/meeting the agenda looks very light right now, we will be trying to populate it a bit more but please consider nominating issues that you find important or things that you want to raise awareness or move forward

davidtwco (Jul 15 2020 at 16:56, on Zulip):

One small thing that might be worth discussing is #t-compiler > discord channel

nagisa (Jul 15 2020 at 17:20, on Zulip):

Santiago Pastorino said:

nagisa do you have something you want to share about @WG-llvm?

I have a couple of talking points that are relevant to WG, though not necessarily a part of the WG work.

Nikita Popov (Jul 15 2020 at 18:55, on Zulip):

We should probably discuss the LLVM 11 upgrade in https://github.com/rust-lang/rust/pull/73526.

nagisa (Jul 16 2020 at 11:57, on Zulip):

I might not be able to participate in today’s meeting so here’re some updates:

Santiago Pastorino (Jul 16 2020 at 13:01, on Zulip):

Hi @T-compiler/meeting, triage meeting will be starting in ~ 1 hour

Santiago Pastorino (Jul 16 2020 at 13:01, on Zulip):

Check out the meeting agenda

pnkfelix (Jul 16 2020 at 14:02, on Zulip):

Hi @T-compiler/meeting! Add a :wave: emoji to show you're here :)

pnkfelix (Jul 16 2020 at 14:02, on Zulip):

we will start off with 5 minutes for ...

Announcements

pnkfelix (Jul 16 2020 at 14:03, on Zulip):
pnkfelix (Jul 16 2020 at 14:04, on Zulip):
Wesley Wiser (Jul 16 2020 at 14:04, on Zulip):
simulacrum (Jul 16 2020 at 14:04, on Zulip):

(Rust 1.45 is released https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html)

pnkfelix (Jul 16 2020 at 14:05, on Zulip):

By the way, I will say that I have a personal interest in the MCP for "Add future-incompat entries to json diagnostic output" compiler-team#315

pnkfelix (Jul 16 2020 at 14:05, on Zulip):

Maybe its an abuse of "power", but I'm going to go ahead and try to solicit seconds from you all right now. :)

pnkfelix (Jul 16 2020 at 14:06, on Zulip):
pnkfelix (Jul 16 2020 at 14:07, on Zulip):
pnkfelix (Jul 16 2020 at 14:07, on Zulip):
pnkfelix (Jul 16 2020 at 14:08, on Zulip):

@nagisa made a direct petition against use of discord for OSS projects

eddyb (Jul 16 2020 at 14:09, on Zulip):

(at this point it's largely just a sinkhole catching unsuspecting question-askers)

eddyb (Jul 16 2020 at 14:09, on Zulip):

(who may not be aware that almost everything moved to Zulip)

pnkfelix (Jul 16 2020 at 14:09, on Zulip):

So, does anyone here object to closing the #compiler channel on Discord? The only reason I can imagine to keep it open at this point is the same reason that @eddyb says they remain there: To try to catch questions from people who are unaware of Zulip

eddyb (Jul 16 2020 at 14:10, on Zulip):

locking the channel with a message is far more useful for that

eddyb (Jul 16 2020 at 14:10, on Zulip):

which is what we already did to a handful of other channels anyway

eddyb (Jul 16 2020 at 14:10, on Zulip):

it's nothing new

pnkfelix (Jul 16 2020 at 14:11, on Zulip):

Okay. I don't think this requires any further approval? I assume that @Joshua Nelson was accurate when they said that they and @eddyb were the main holdouts

nikomatsakis (Jul 16 2020 at 14:11, on Zulip):

I don't think it requires further approval.

eddyb (Jul 16 2020 at 14:12, on Zulip):

I think the most recent one was @simulacrum locking #wg-compiler-performance

Wesley Wiser (Jul 16 2020 at 14:12, on Zulip):

I occasionally pop into #compiler on Discord but I'm strongly in favor of locking it and redirecting people here.

pnkfelix (Jul 16 2020 at 14:12, on Zulip):

okay. Lets lock channel with a message. I'll look into making sure that happens after the meeting (or if someone with authority can do it before then, thats fine with me.)

pnkfelix (Jul 16 2020 at 14:12, on Zulip):

WG checkins

pnkfelix (Jul 16 2020 at 14:12, on Zulip):

@WG-rustc-dev-guide checkin by @mark-i-m and @Santiago Pastorino:

68 merged PRs! In fact, there was so much stuff, that we ran out of time to curate it... here is a prefix of the list of PRs (heavily biased towards earlier PRs); there are so many people that deserve credit:
- Aaron Hill
- Andy Russell
- Bastian Kauschke
- Drew Youngwerth
- Eric Huss
- Florian Gilcher
- Ivan Veselov
- Joshua Nelson
- mark-i-m
- Matt Kraai
- Nadrieril
- Niko Matsakis
- pierwill
- Ralf Jung
- Santiago Pastorino
- Takayuki Nakata
- ThePuzzlemaker
- Tomasz Miąsko
- Tom Eccles
- Yuki Okushi

pnkfelix (Jul 16 2020 at 14:13, on Zulip):

/me takes a breath

pnkfelix (Jul 16 2020 at 14:13, on Zulip):

Accomplished:

pnkfelix (Jul 16 2020 at 14:13, on Zulip):

@WG-llvm checkin by @nagisa:

nikomatsakis (Jul 16 2020 at 14:13, on Zulip):

Wow, that's awesome

nikomatsakis (Jul 16 2020 at 14:15, on Zulip):

Regarding support for Apple silicon, @Jake Goulding has been tracking that (they're not on this stream), and we created a tracking issue, but I would say that we're planning to walk that support through our usual processes. I've been reaching out to some folks at Apple as well to see if we can get some support from that angle, though nothing to announce there yet.

pnkfelix (Jul 16 2020 at 14:15, on Zulip):

Its really hard for me to predict where (the) Apple will fall on this

eddyb (Jul 16 2020 at 14:16, on Zulip):

there's #t-compiler/arm btw for related discussion

pnkfelix (Jul 16 2020 at 14:16, on Zulip):

(by the way, it appears that :point_of_information: has been replaced with :wait_one_second:, and so I've started using :point_up: ( :point_up: ) instead)

nikomatsakis (Jul 16 2020 at 14:17, on Zulip):

I found it hard to distinguish those in any case..

nikomatsakis (Jul 16 2020 at 14:17, on Zulip):

(like, visually)

pnkfelix (Jul 16 2020 at 14:19, on Zulip):

okay so now I think people have had enough fun with sign language

pnkfelix (Jul 16 2020 at 14:19, on Zulip):

Beta-nominations

T-compiler

pnkfelix (Jul 16 2020 at 14:19, on Zulip):

I beta-nominated this, but like I said, I'm fine with waiting until next week to decide about it

pnkfelix (Jul 16 2020 at 14:21, on Zulip):

but I'm also fine with just diving in. :slight_smile:

pnkfelix (Jul 16 2020 at 14:21, on Zulip):

Anyway I'll take the approvals so far as a sign that we can beta-accept it.

pnkfelix (Jul 16 2020 at 14:22, on Zulip):

(worst case scenario, with something backport this early, is that we'll eventually have to revert it in the next six weeks for some reason. I can live with that.)

pnkfelix (Jul 16 2020 at 14:22, on Zulip):

#74340: beta-accepted

pnkfelix (Jul 16 2020 at 14:22, on Zulip):

libs-impl

T-rustdoc

pnkfelix (Jul 16 2020 at 14:22, on Zulip):

Stable-nominations

T-compiler

libs-impl

T-rustdoc

pnkfelix (Jul 16 2020 at 14:22, on Zulip):

PRs S-waiting-on-team

T-compiler

libs-impl

pnkfelix (Jul 16 2020 at 14:22, on Zulip):

Issues of Note

Short Summary

pnkfelix (Jul 16 2020 at 14:23, on Zulip):

P-critical

T-compiler

libs-impl

T-rustdoc

pnkfelix (Jul 16 2020 at 14:23, on Zulip):

Unassigned P-high regressions

Beta regressions

Nightly regressions

pnkfelix (Jul 16 2020 at 14:23, on Zulip):

Performance logs

Triage done by njn.
Revision range: 0c03aee8b81185d65b5821518661c30ecdb42de5..9d09331e00b02f81c714b0c41ce3a38380dd36a2.

12 revisions checked. Zero regressions, one improvement.

Regressions

Improvements

pnkfelix (Jul 16 2020 at 14:25, on Zulip):

I have to say

pnkfelix (Jul 16 2020 at 14:25, on Zulip):

I really like the pattern

pnkfelix (Jul 16 2020 at 14:26, on Zulip):

of packing the state into some usize or whatever, and then adding a bunch of PhantomData fields

lcnr (Jul 16 2020 at 14:26, on Zulip):

Let's make it a safe abstraction :sparkles:

pnkfelix (Jul 16 2020 at 14:26, on Zulip):

it just tickles me for some reason. Anyway, very cool stuff, @simulacrum

pnkfelix (Jul 16 2020 at 14:27, on Zulip):

Nominated Issues

T-compiler

pnkfelix (Jul 16 2020 at 14:27, on Zulip):
pnkfelix (Jul 16 2020 at 14:28, on Zulip):

Let me transcribe that comment here:

pnkfelix (Jul 16 2020 at 14:28, on Zulip):

@Wesley Wiser wrote:

I would like to nominate this PR for discussion at the compiler team triage meeting.

As I understand it, the current state of this PR is that:

* There are no known ICEs or functional regressions caused by this PR and a full bootstrap succeeds as evidenced by the CI status of this PR. tada

* The most recent perf.rlo run shows mixed results.

* @davidtwco performed a more detailed analysis here which suggests the regressions are possibly related to the known CGU partitioning issue and not actual regressions introduced by this PR.

* Another round of reviews has been requested of @eddyb and @nikomatsakis.

It seems to me that a bit of direction from the compiler team would be helpful at this time. I would like to discuss:

* Assuming those final reviews are completed and feedback addressed, is this ready to merge?

* If not, what else needs to be done before this PR can be merged?

* Should we merge this enabled by default or disabled by default?

nikomatsakis (Jul 16 2020 at 14:29, on Zulip):

/me grumbles about Zulip's markdown parser not matching github markdown closely enough

nikomatsakis (Jul 16 2020 at 14:29, on Zulip):

I think we should land it

nikomatsakis (Jul 16 2020 at 14:29, on Zulip):

I think it's important infrastructure that we know from first principles will be useful

Wesley Wiser (Jul 16 2020 at 14:30, on Zulip):

I just realized my "more detailed analysis link" should actually link to this zulip thread.

nikomatsakis (Jul 16 2020 at 14:30, on Zulip):

Moreover, while the perf is somewhat disappointing, there are some real wins

nikomatsakis (Jul 16 2020 at 14:30, on Zulip):

e.g.

pnkfelix (Jul 16 2020 at 14:30, on Zulip):

(We should probably report that as a bug in Zulip. Its not too soon for them to change to have better compatibilty, I would think...)

nikomatsakis (Jul 16 2020 at 14:30, on Zulip):

image.png

Joshua Nelson (Jul 16 2020 at 14:30, on Zulip):

('m always super annoyed by _italics_ not working)

davidtwco (Jul 16 2020 at 14:30, on Zulip):

:tada:

nikomatsakis (Jul 16 2020 at 14:30, on Zulip):

5% on script-servo-debug is not to sneeze at

nikomatsakis (Jul 16 2020 at 14:31, on Zulip):

it's true though that the 11% hit on the println case for script-serve-opt is sad, but then we think it's CGU related?

eddyb (Jul 16 2020 at 14:31, on Zulip):

@nikomatsakis did you see my closure PRs btw? it might make the polymorphization PR slightly simpler/easier to land. but if you don't want to wait I can try to review polymorphization today or something (just remind me after meeting)

nikomatsakis (Jul 16 2020 at 14:31, on Zulip):

I'm still catching up from vacation, I've not seen that PR

Wesley Wiser (Jul 16 2020 at 14:31, on Zulip):

The metric wg-mir-opt uses to switch optimizations on by default is currently just "there are no known issues and we have at least some covering tests". We're also quick to switch stuff back off if the beta crater shows issues.

nikomatsakis (Jul 16 2020 at 14:31, on Zulip):

I don't have a strong opinion about order in which things land :)

eddyb (Jul 16 2020 at 14:31, on Zulip):

I think the polymorphization PR has waited long enough tbh

Wesley Wiser (Jul 16 2020 at 14:32, on Zulip):

The Polymorphization PR fits those requirements

nikomatsakis (Jul 16 2020 at 14:32, on Zulip):

(there are a lot of 1%, 2% hits on incremental cases)

pnkfelix (Jul 16 2020 at 14:33, on Zulip):

I think we should bias towards improvements on non-incremental

pnkfelix (Jul 16 2020 at 14:33, on Zulip):

i.e. if something is a 5% win on non-incremental but causes a 5% regression on incremental

pnkfelix (Jul 16 2020 at 14:33, on Zulip):

I'd opt to still land it

Wesley Wiser (Jul 16 2020 at 14:34, on Zulip):

IMO we should land it and have it enabled by default. I would ask that we leave the -Zpolymorphization flag around so if have to to switch it off, it's a one line change.

nikomatsakis (Jul 16 2020 at 14:34, on Zulip):

Yeah, I agree with that too, as a "rule of thumb" anyway

nikomatsakis (Jul 16 2020 at 14:34, on Zulip):

particularly for these sorts of PRs, where it doesn't really make any sense for incremental to get slower?

pnkfelix (Jul 16 2020 at 14:34, on Zulip):

yeah, its too noisy for us to block stuff on it

eddyb (Jul 16 2020 at 14:35, on Zulip):

the incremental effects suggest our CGU partitioning may be slightly to wildly suboptimal, so turning polymorphization on and off could be a good way to gain more insight into that

eddyb (Jul 16 2020 at 14:35, on Zulip):

I remember @davidtwco trying to gather data on that, but I think more work is needed

pnkfelix (Jul 16 2020 at 14:35, on Zulip):

so @Wesley Wiser

pnkfelix (Jul 16 2020 at 14:36, on Zulip):

when you commented here, you had promoted the idea of setting -Zpolymorphize to off by default

davidtwco (Jul 16 2020 at 14:36, on Zulip):
-Ztime-passes (total) -Zpolymorphize=on -Z polymorphize=off
-Z codegen-units=1 633.040 (data) 729.907 ( data )
(no other flags) 232.379 (data) 232.557 (data)

This is my most recent data regarding partitioning + polymorphisation.

davidtwco (Jul 16 2020 at 14:36, on Zulip):

(from running perf on my own machine, so all the caveats that entails)

pnkfelix (Jul 16 2020 at 14:36, on Zulip):

It seems like you changed your mind since then, based on your (@Wesley Wiser 's) comment above.

pnkfelix (Jul 16 2020 at 14:36, on Zulip):

Is that because you think it will be more useful to get this running on more systems (in order to iron out bugs and get feedback on perf)?

Wesley Wiser (Jul 16 2020 at 14:37, on Zulip):

pnkfelix said:

when you commented here, you had promoted the idea of setting -Zpolymorphize to off by default

I was under the impression at that point there were still some ICEs that needed to be tracked down. At the current time, we don't know any ICEs or other regressions (other than incr performance).

pnkfelix (Jul 16 2020 at 14:37, on Zulip):

Ah I see

davidtwco (Jul 16 2020 at 14:37, on Zulip):

The only case w/ an ICE that I'm aware of is when the new symbol mangling is enabled.

eddyb (Jul 16 2020 at 14:37, on Zulip):

we also don't keep around the unoptimized LLVM IR to do proper reuse of that , right? I wonder how much we could win with a hacked together version of that where we just take out the changed functions and add in the new copies

Wesley Wiser (Jul 16 2020 at 14:37, on Zulip):

I wanted to keep the PR from bitrotting but obviously we can't land stuff that introduces known regressions like that.

davidtwco (Jul 16 2020 at 14:37, on Zulip):

davidtwco said:

The only case that I'm aware of is when the new symbol mangling is enabled.

But that's not the default and might not be a hard bug - I've not looked into it much.

eddyb (Jul 16 2020 at 14:38, on Zulip):

since the incremental penalty for polymorphization might just be invalidating a large CGU and having to redo MIR -> LLVM IR

eddyb (Jul 16 2020 at 14:38, on Zulip):

although LLVM optimizations on the CGU are likely costlier so nvm

pnkfelix (Jul 16 2020 at 14:38, on Zulip):

okay. So It seems like everyone whose spoken up thinks that the performance issues here are something that we can investigate independently, after this lands (potentially on by default)? Does that sound right?

eddyb (Jul 16 2020 at 14:38, on Zulip):

@davidtwco I can try to help track down the mangling bug

pnkfelix (Jul 16 2020 at 14:39, on Zulip):

I think we have general approval for landing this.

eddyb (Jul 16 2020 at 14:39, on Zulip):

should be even easier once it's landed because I can just play around with local builds without a copy of the PR etc.

pnkfelix (Jul 16 2020 at 14:40, on Zulip):

In theory there should be an associated MCP for something like this

pnkfelix (Jul 16 2020 at 14:40, on Zulip):

but I think its development predates the MCP process

nikomatsakis (Jul 16 2020 at 14:40, on Zulip):

yeah, it does

nikomatsakis (Jul 16 2020 at 14:40, on Zulip):

Not sure @davidtwco if you ever wrote up any rustc-dev-guide docs on the design btw?

nikomatsakis (Jul 16 2020 at 14:40, on Zulip):

It'd be helpful for reviewing

pnkfelix (Jul 16 2020 at 14:40, on Zulip):

and we're okay with making exceptions for "well known" public efforts like this, I think

nikomatsakis (Jul 16 2020 at 14:41, on Zulip):

I think it's fine, I mean all the relevant folks are here

nikomatsakis (Jul 16 2020 at 14:41, on Zulip):

and we would second it :)

davidtwco (Jul 16 2020 at 14:41, on Zulip):

nikomatsakis said:

Not sure davidtwco if you ever wrote up any rustc-dev-guide docs on the design btw?

I have a to-do list item to do this - but was waiting to see if it would land and what other changes might be necessary.

davidtwco (Jul 16 2020 at 14:41, on Zulip):

There's a mention of it in the dev-guide already AFAIK.

Wesley Wiser (Jul 16 2020 at 14:41, on Zulip):

We can trade writing the MCP for writing some docs :slight_smile:

nikomatsakis (Jul 16 2020 at 14:41, on Zulip):

I was just going to write that :)

eddyb (Jul 16 2020 at 14:41, on Zulip):

just open the MCP and insert the thesis as the contents

pnkfelix (Jul 16 2020 at 14:41, on Zulip):

okay so lets move along then

nikomatsakis (Jul 16 2020 at 14:41, on Zulip):

that's the main thing I would want out of the MCP...

nikomatsakis (Jul 16 2020 at 14:41, on Zulip):

heh

nikomatsakis (Jul 16 2020 at 14:41, on Zulip):

I forgot about the thesis, right...

pnkfelix (Jul 16 2020 at 14:41, on Zulip):
davidtwco (Jul 16 2020 at 14:42, on Zulip):

eddyb said:

just open the MCP and insert the thesis as the contents

(that's here if people care, the evaluation is so-so, but the rest might be helpful)

eddyb (Jul 16 2020 at 14:42, on Zulip):

nikomatsakis said:

I forgot about the thesis, right...

miri's README still links to @Scott Olson's report on it, so there's definitely precedent

nikomatsakis (Jul 16 2020 at 14:44, on Zulip):

Regarding #73265, it seems like the discussion has reached a good point

nikomatsakis (Jul 16 2020 at 14:44, on Zulip):

do we need to issue some "formal approval"?

pnkfelix (Jul 16 2020 at 14:44, on Zulip):

by the way, I hadn't be follwing discussion

pnkfelix (Jul 16 2020 at 14:44, on Zulip):

but it sounds like the title no longer accurately describes the action

nikomatsakis (Jul 16 2020 at 14:44, on Zulip):

heh, it does not

pnkfelix (Jul 16 2020 at 14:45, on Zulip):

namely, they're now going to move standard libs into <root>/library/<crate>/src/*.rs, along side <root>/src/<all the rest> // unchanged

nikomatsakis (Jul 16 2020 at 14:45, on Zulip):

I don't know how/why "library" was chosen over "std" or "stdlib", I forget. Have to skim the thread. I guess because std is but one library and there are more crates?

Wesley Wiser (Jul 16 2020 at 14:46, on Zulip):

std/libstd seems a little awkward. It seems reasonable to me but perhaps it's a bit too jargon-y for new contributors?

I do like the idea of library/... and compiler/... though

pnkfelix (Jul 16 2020 at 14:47, on Zulip):

oh, it appears that library was chosen in anticipation of eventually migrating the rustc crates to compiler/

pnkfelix (Jul 16 2020 at 14:47, on Zulip):

if I'm reading this right

nikomatsakis (Jul 16 2020 at 14:47, on Zulip):

To be clear, I'm good with library

pnkfelix (Jul 16 2020 at 14:47, on Zulip):

Okay that's all fine

nikomatsakis (Jul 16 2020 at 14:47, on Zulip):

I just remember it was discussed and settled upon somehow, and my main point is that I'd prefer not to revisit that settled point...

Wesley Wiser (Jul 16 2020 at 14:47, on Zulip):

Is this on our docket because we took over standard library internals?

nikomatsakis (Jul 16 2020 at 14:48, on Zulip):

More or less, yes.

Wesley Wiser (Jul 16 2020 at 14:48, on Zulip):

Or is this just a general FYI?

pnkfelix (Jul 16 2020 at 14:48, on Zulip):

I suspect so, yeah

nikomatsakis (Jul 16 2020 at 14:48, on Zulip):

It does seem pretty squarely to be our decision at this point

nikomatsakis (Jul 16 2020 at 14:48, on Zulip):

Not sure what could be a more implementation focused decision

pnkfelix (Jul 16 2020 at 14:49, on Zulip):

I'll make a note and link to our discussion here

pnkfelix (Jul 16 2020 at 14:49, on Zulip):
pnkfelix (Jul 16 2020 at 14:50, on Zulip):

regarding "perf shows some nice improvements;" weren't there regressions we had to swallow with the upgrade to LLVM 10? Does anyone know if the improvements here bring us back in line with LLVM 9 in those cases?

nikomatsakis (Jul 16 2020 at 14:50, on Zulip):

there certainly were

Nikita Popov (Jul 16 2020 at 14:51, on Zulip):

The perf numbers from the LLVM 10 upgrade were: https://perf.rust-lang.org/compare.html?start=0aa6751c19d3ba80df5b0b02c00bf44e13c97e80&end=82911b3bba76e73afe2881b732fe6b0edb35d5d3&stat=instructions%3Au So I think LLVM 11 recovers most but not all of it.

pnkfelix (Jul 16 2020 at 14:51, on Zulip):

also, regarding @Nikita Popov 's comment linked above: the final LLVM release is at end of August

pnkfelix (Jul 16 2020 at 14:51, on Zulip):

so if we land this now

pnkfelix (Jul 16 2020 at 14:51, on Zulip):

would we do another round of upgrades to the final LLVM 11 release after end of August?

pnkfelix (Jul 16 2020 at 14:52, on Zulip):

or would we just use what we landed (and cherry-pick when necessary) until LLVM 12?

Nikita Popov (Jul 16 2020 at 14:52, on Zulip):

There are usually some upgrades lateron to match the release branch (especially as there are point releases as well).

pnkfelix (Jul 16 2020 at 14:52, on Zulip):

okay

pnkfelix (Jul 16 2020 at 14:53, on Zulip):

Can anyone summarize arguments why we wouldn't land this?

pnkfelix (Jul 16 2020 at 14:53, on Zulip):

(that is, why we wouldn't land this now and instead wait for the aforementioned final release at end of August)?

simulacrum (Jul 16 2020 at 14:53, on Zulip):

There was some discussion about not using an unreleased LLVM due to Firefox?

simulacrum (Jul 16 2020 at 14:54, on Zulip):

I forget the details -- something about cross-language LTO and clang?

Nikita Popov (Jul 16 2020 at 14:54, on Zulip):
  1. This makes us early adopters, so there's a larger chance that we hit regressions first.
  2. Cross-language LTO requires the other party to use LLVM 11 as well.
pnkfelix (Jul 16 2020 at 14:54, on Zulip):

hmm

pnkfelix (Jul 16 2020 at 14:55, on Zulip):

in terms of release cycle timing

nikomatsakis (Jul 16 2020 at 14:55, on Zulip):

I'm not sure of the current status for FF, I think this was already a problem when we upgraded to LLVM 10, but I do think that given the limitations on cross-language LTO there is some logic to sticking to LLVM releases

pnkfelix (Jul 16 2020 at 14:55, on Zulip):

/me goes to look at forge

Nikita Popov (Jul 16 2020 at 14:55, on Zulip):

I saw a bug report from Firefox trying to use Clang 11, so possibly they're already on this. Because I think they skipped Clang 10 due to the large regressions. But this is just hearsay, does anyone know something more certain there?

nikomatsakis (Jul 16 2020 at 14:55, on Zulip):

(so that people can more easily match us)

Wesley Wiser (Jul 16 2020 at 14:56, on Zulip):

If we land it in nightly it will ship on Oct 8th.

nikomatsakis (Jul 16 2020 at 14:56, on Zulip):

@njn will not be around at this time but they may have feedback on the FF point

pnkfelix (Jul 16 2020 at 14:56, on Zulip):

thank you @Wesley Wiser

simulacrum (Jul 16 2020 at 14:56, on Zulip):

I guess -- do we expect llvm 11/clang 11 ship by oct 8th?

nagisa (Jul 16 2020 at 14:56, on Zulip):

I remember hearing firefox is still using rustc with llvm9

nagisa (Jul 16 2020 at 14:56, on Zulip):

maybe the old rustc?

Wesley Wiser (Jul 16 2020 at 14:57, on Zulip):

LLVM 11 is supposed to release at the end of August.

Nikita Popov (Jul 16 2020 at 14:57, on Zulip):

@simulacrum The release is planned for August 26, but it does tend to slip a bit.

simulacrum (Jul 16 2020 at 14:57, on Zulip):

okay, so then it seems reasonable to land in our nightly, by the time it hits stable we'll have a released llvm that's probably "close enough" right?

Nikita Popov (Jul 16 2020 at 14:58, on Zulip):

I expect so, yes.

pnkfelix (Jul 16 2020 at 14:59, on Zulip):

if we actually waited until LLVM 11 were released to put it into our nightlies, then chances are it would be part of the 1.49 release, and would probably come out in late December, right?

simulacrum (Jul 16 2020 at 15:00, on Zulip):

it seems bad to wait another 2ish months for these performance wins without excellent reason, so I'm personally in favor of landing now. I think I've convinced myself that matching LLVM releases is fine to do "in stable" but not really as needed in nightly.

pnkfelix (Jul 16 2020 at 15:00, on Zulip):

that seems like quite a difference in time; long time to make people wait, especially if its recovering performance we had lost with LLVM 10 upgrade

Wesley Wiser (Jul 16 2020 at 15:00, on Zulip):

Seems like maybe the right thing to do is land it on nightly and potentially take a beta-backport later to update to the release version of LLVM 11?

pnkfelix (Jul 16 2020 at 15:01, on Zulip):

if necessary, yeah

nikomatsakis (Jul 16 2020 at 15:01, on Zulip):

That sounds reasonable

nikomatsakis (Jul 16 2020 at 15:01, on Zulip):

I'm mildly uncomfortable with this being "close enough" to the final release

pnkfelix (Jul 16 2020 at 15:01, on Zulip):

So yeah, it seems like everyone here is generally in favor of moving forward with LLVM 11 upgrade now

nikomatsakis (Jul 16 2020 at 15:01, on Zulip):

but a beta backport fixes that

nikomatsakis (Jul 16 2020 at 15:01, on Zulip):

(and I suppose "close enough" might indeed be true)

pnkfelix (Jul 16 2020 at 15:02, on Zulip):

Does anyone have a link to the discussions about the Firefox issues regarding their version of clang and/or cross-lang LTO ?

pnkfelix (Jul 16 2020 at 15:02, on Zulip):

(I found some bugzilla tickets regarding rustc forcing them to upgrade to LLVM 9)

pnkfelix (Jul 16 2020 at 15:03, on Zulip):

oh no we're over time!

pnkfelix (Jul 16 2020 at 15:03, on Zulip):

there was just one last nominated issue, and its, I think, just a bug that wants some attention

pnkfelix (Jul 16 2020 at 15:03, on Zulip):
pnkfelix (Jul 16 2020 at 15:03, on Zulip):

so, yeah, someone look into that. :)

pnkfelix (Jul 16 2020 at 15:04, on Zulip):

(hey, maybe its fixed with LLVM 11. :wink: )

nikomatsakis (Jul 16 2020 at 15:04, on Zulip):

Fun.

pnkfelix (Jul 16 2020 at 15:04, on Zulip):

Thanks to everyone in @T-compiler/meeting for attending! This was a great meeting, I really love coming away from these things excited about everything that's going on

davidtwco (Jul 16 2020 at 15:06, on Zulip):

eddyb said:

nikomatsakis did you see my closure PRs btw? it might make the polymorphization PR slightly simpler/easier to land. but if you don't want to wait I can try to review polymorphization today or something (just remind me after meeting)

this is the reminder after the meeting :wink:

davidtwco (Jul 16 2020 at 15:06, on Zulip):

@eddyb

eddyb (Jul 16 2020 at 15:06, on Zulip):

you could at least link to the PR :P

eddyb (Jul 16 2020 at 15:06, on Zulip):

don't make me type URLs in the middle of a heatwave

davidtwco (Jul 16 2020 at 15:06, on Zulip):

#69749

pnkfelix (Jul 16 2020 at 15:07, on Zulip):

@eddyb were you just ... criticizing... yourself ...?

eddyb (Jul 16 2020 at 15:08, on Zulip):

no? just barely functioning during the day (it's 6pm here)

pnkfelix (Jul 16 2020 at 15:08, on Zulip):

I cannot tell if the comment about "linking to the PR" was regarding the polymorphization PR (#69749) or the closures PRs (#74341, #74314 ...?)

eddyb (Jul 16 2020 at 15:08, on Zulip):

the one I have to review :P

pnkfelix (Jul 16 2020 at 15:08, on Zulip):

oh oh oh

pnkfelix (Jul 16 2020 at 15:09, on Zulip):

but you do see the irony, no?

pnkfelix (Jul 16 2020 at 15:10, on Zulip):

/me wonders, for the thousandth time, whether he understands the definition of "irony." Thanks @Alanis Morrisette

eddyb (Jul 16 2020 at 15:10, on Zulip):

well I link niko PRs all the time, just in PM :P

mark-i-m (Jul 16 2020 at 15:36, on Zulip):

pnkfelix said:

@WG-rustc-dev-guide checkin by mark-i-m and Santiago Pastorino:

68 merged PRs! In fact, there was so much stuff, that we ran out of time to curate it... here is a prefix of the list of PRs (heavily biased towards earlier PRs); there are so many people that deserve credit:
- Aaron Hill
- Andy Russell
- Bastian Kauschke
- Drew Youngwerth
- Eric Huss
- Florian Gilcher
- Ivan Veselov
- Joshua Nelson
- mark-i-m
- Matt Kraai
- Nadrieril
- Niko Matsakis
- pierwill
- Ralf Jung
- Santiago Pastorino
- Takayuki Nakata
- ThePuzzlemaker
- Tomasz Miąsko
- Tom Eccles
- Yuki Okushi

:scream: It seems that somehow @Chris Simpkins, @LeSeulArtichaut, and @Tshepang Lekhonkhobe got left off the list when I crawled the git log :'( They also deserve lots of credit. Sorry about that!

eddyb (Jul 16 2020 at 16:39, on Zulip):

@davidtwco done

davidtwco (Jul 16 2020 at 16:39, on Zulip):

thanks, addressing now

eddyb (Jul 16 2020 at 16:39, on Zulip):

(btw, having a separate stream for meeting topics is amazing for finding them)

eddyb (Jul 16 2020 at 16:40, on Zulip):

(let's move to #t-compiler/wg-polymorphization)

njn (Jul 16 2020 at 21:49, on Zulip):

On the Firefox front:

njn (Jul 16 2020 at 21:50, on Zulip):
njn (Jul 16 2020 at 21:51, on Zulip):
njn (Jul 16 2020 at 21:52, on Zulip):
Last update: Nov 25 2020 at 03:15UTC