Skip to content

Commit b89a181

Browse files
authored
Merge pull request #91 from lqd/polonius_meetings
More Polonius meetings notes
2 parents 51dbba2 + 0b22e22 commit b89a181

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# WG-Polonius meeting minutes: 2019/04/30
2+
---
3+
4+
Relevant links:
5+
- The meeting happened in this [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/meeting.202019.2E04.2E30).
6+
- The [WIP Roadmap](https://paper.dropbox.com/doc/Polonius-Roadmap--AY6C806s~AZK~e7wagmys2_wAg-hk3a9ynduUN2gk1A0NNTF) Paper.
7+
8+
---
9+
10+
In this meeting, we started with a short review of the previous week's work:
11+
- [Albin] continued work on implementing liveness in [Polonius](https://github.com/rust-lang/polonius/pull/105), and opened the [rustc](https://github.com/rust-lang/rust/pull/60266) part of this work: generating the facts needed by the Polonius computation.
12+
- [Niko] wrote up some more [notes](https://github.com/rust-lang/polonius/issues/104#issuecomment-488076424) on continuing the liveness work: the next major part being computing the `region_live_at` facts in Polonius analyses instead of rustc.
13+
- [Rémy] continued the previous week's work of using the results of `LocInsensitive` in `DatafrogOpt` via the `Hybrid` analysis, especially looking for changes in behaviour using polonius and rustc's tests, and ran into the task mentioned the week before: the rustc ui test suite under polonius has more failures than expected.
14+
- [@lokalmatador] looked into building rustc and the various bits they would need for profiling.
15+
16+
Since the liveness work is a bit complex, has many moving parts, and is generally hard to test, we [talked](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/meeting.202019.2E04.2E30/near/164566587) about correctness, testing, rustc's test suite and the need to have a reasonable test suite in general. A first step will be to look into rustc's test suite failures, `ignore`ing irrelevant tests or add `bless`ed output, at the very least to track changes and regressions more easily.
17+
18+
The WIP plan about polonius features and rustc integration/subsumption looks clear:
19+
- liveness, which we are actively working on now.
20+
- moves, which should hopefully be smaller, has precedent in the work on Lark, and could be partially/possibly applicable to rustc.
21+
- regions and region logic, for which we have started working on the easier parts, but also crosses paths with the [traits WG and chalk effort](https://rust-lang.zulipchat.com/#narrow/stream/144729-wg-traits/topic/meeting.202019.2E04.2E29/near/164478317) for the more complex ones.
22+
23+
Useful future tasks we mentioned:
24+
- after the inaugural talk, it'd be useful to continue the "explaining Polonius" series of videos/talks, focusing on the analysis rules and examples to learn, or remember, why they are the way they are.
25+
26+
----
27+
For the following week:
28+
- [Albin] will continue on liveness.
29+
- [Rémy] will look at the rustc tests in more detail.
30+
- [Niko] will prepare the next steps in the liveness, to stay ahead of [Albin]'s progress.
31+
- [@lokalmatador] will familiarize with the steps [Niko] wrote, with available help from the rest of the WG.
32+
33+
[Albin]: https://github.com/albins
34+
[Niko]: https://github.com/nikomatsakis
35+
[Rémy]: https://github.com/lqd
36+
[@lokalmatador]: https://github.com/lokalmatador
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# WG-Polonius meeting minutes: 2019/05/07
2+
---
3+
4+
Relevant links:
5+
- The meeting happened in this [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/meeting.202019.2E05.2E07).
6+
- The [WIP Roadmap](https://paper.dropbox.com/doc/Polonius-Roadmap--AY6C806s~AZK~e7wagmys2_wAg-hk3a9ynduUN2gk1A0NNTF) Paper.
7+
8+
---
9+
10+
In this shorter meeting, we spent most of the time on the previous week's work:
11+
- [Niko] has written more [notes](https://github.com/rust-lang/polonius/issues/104#issuecomment-489681898) and [steps](https://github.com/rust-lang/polonius/issues/104#issuecomment-489691804) for implementing liveness. With these, most of liveness is described (modulo the specifics of `drop`) :tada:.
12+
- [Albin] smoothly continued work on computing liveness in Polonius in [#105](https://github.com/rust-lang/polonius/pull/105), and rustc's [#60266](https://github.com/rust-lang/rust/pull/60266): finishing up last week's steps about the beginning of fact generation, and preparing to emit the ones needed to compute the `region_live_at` relation.
13+
- [Rémy] started looking at rustc's test suite behaviour under `--compare-mode polonius` in more detail. While initially the number of failures looked [big](https://github.com/rust-lang/rust/compare/master...lqd:polonius_tests), [Matthew] mentioned their in-review PR [#60171](https://github.com/rust-lang/rust/pull/60171), which would contain most of the differences seen in these initial runs, as it unifies the NLL mode under which both of these test modes are ran.
14+
- [@lokalmatador] successfully got rustc building and prepared for profiling.
15+
16+
Useful future tasks we mentioned:
17+
- even though we always think about the topic, we noticed analyzing the test suite, tests and correctness, are tasks which should actually be mentioned in the Roadmap.
18+
- the polonius compare-mode likely has little or no documentation, fixing that would be important as part of the general documentation effort needed by the project.
19+
20+
----
21+
For the following week:
22+
- [Albin] will continue on liveness.
23+
- To get ahead of the liveness game, [Niko] will look at and describe more of the `drop` specifics.
24+
- [Rémy] will continue on the rustc test suite results, especially on top of [#60171](https://github.com/rust-lang/rust/pull/60171). But also write the previous meetings' notes they forgot to do (but as you can attest, dear reader/reviewer, got done eventually).
25+
- [@lokalmatador] will have a bit less time in the immediate future but will afterwards be able to start profiling and looking at the [benchmarking tasks from the Roadmap](https://paper.dropbox.com/doc/Polonius-Roadmap--AdGLuHfuHXoGGL0vCLwXgtysAg-hk3a9ynduUN2gk1A0NNTF#:uid=627651028890979090145392&h2=Benchmarking-suite).
26+
27+
[Albin]: https://github.com/albins
28+
[Niko]: https://github.com/nikomatsakis
29+
[Rémy]: https://github.com/lqd
30+
[@lokalmatador]: https://github.com/lokalmatador
31+
[Matthew]: https://github.com/matthewjasper
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# WG-Polonius meeting minutes: 2019/05/14
2+
---
3+
4+
Relevant links:
5+
- The meeting happened in this [Zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/meeting.202019.2E05.2E14).
6+
- The [WIP Roadmap](https://paper.dropbox.com/doc/Polonius-Roadmap--AY6C806s~AZK~e7wagmys2_wAg-hk3a9ynduUN2gk1A0NNTF) Paper.
7+
8+
---
9+
10+
A recap of last week's work:
11+
- [Niko] and [Albin] went through a lot of details of liveness, in the dedicated Zulip thread ([around this point](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/liveness.20polonius.23104/near/165238306)).
12+
- With the previous week's steps, and these conversations, [Albin] has continued the work on liveness, and is now _basically done_ :tada:. With the 2 PRs, Polonius is able to compute the same `region_live_at` facts as rustc. The remaining work being mostly clean-up, various minor fixes, more testing, and finally, reviews. The remaining tasks are listed in [this comment](https://github.com/rust-lang/polonius/issues/104#issuecomment-492380520).
13+
- [Rémy] has continued looking at the rustc test suite under Polonius. As expected, over [#60171](https://github.com/rust-lang/rust/pull/60171), there are less than 20 failures. A first pass at analyzing the results is available [here](https://hackmd.io/CjYB0fs4Q9CweyeTdKWyEg) with links to the necessary information (test source, NLL/polonius outputs, diff) to categorize the failures but the TL;DR is: some of them are trivially fixable (being artifacts of test construction, and identical under NLLs and Polonius), some are duplicates or similar to of other failures, a lot are simply different diagnostics, and a handful need more in-depth investigation to understand the difference in behaviour, if it's a bug, and so on. More information will generally be available in [the dedicated thread](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/rustc.20compare-mode.20polonius).
14+
- [@lokalmatador] is working through profiling tasks and may soon be able to gather benchmark data.
15+
- On the more administrative side of things, [Rémy] wrote up the meeting notes from the previous weeks, updated the roadmap to [add testing and validation](https://paper.dropbox.com/doc/Polonius-Roadmap--AdKXqkTdIxkM3zh3xZmuZ4RmAg-hk3a9ynduUN2gk1A0NNTF#:uid=569313235802426695258068&h2=Extending-Polonius-to-cover-th), as we mentioned during last week's meeting.
16+
17+
Useful information:
18+
- various members will be absent at different points in the upcoming weeks. There may not necessarily be a meeting sometimes (TBD), but async updates will be available on Zulip in any case.
19+
20+
Useful future tasks we mentioned:
21+
- with the liveness work about to land, we mentioned some important optimizations rustc has about liveness (in particular, trying to _avoid_ computing it unless it is necessary), and that Polonius (or its inputs) will surely need as well. This topic was discussed at [this point in the meeting thread](https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius/topic/meeting.202019.2E05.2E14/near/165653374).
22+
23+
----
24+
For the following week:
25+
- [Albin] will tackle the remaining final liveness.
26+
- [Rémy] will continue on the rustc test suite results (fix the trivial differences, etc) and time permitting, help with the final liveness tasks.
27+
- [@lokalmatador] will continue their benchmarking endeavour.
28+
29+
[Albin]: https://github.com/albins
30+
[Niko]: https://github.com/nikomatsakis
31+
[Rémy]: https://github.com/lqd
32+
[@lokalmatador]: https://github.com/lokalmatador

0 commit comments

Comments
 (0)