<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/mir/analyze.rs, branch 1.56.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.56.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.56.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2021-06-10T12:53:06+00:00</updated>
<entry>
<title>Do not emit alloca for ZST locals with multiple assignments</title>
<updated>2021-06-10T12:53:06+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2021-06-09T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=40c9aaee138be57bbc98fdb5ccb4c4b70a63e5cf'/>
<id>urn:sha1:40c9aaee138be57bbc98fdb5ccb4c4b70a63e5cf</id>
<content type='text'>
When rebuilding the standard library with `-Zbuild-std` this reduces the
number of locals that require an allocation from 62315 to 61767.
</content>
</entry>
<entry>
<title>Use preorder traversal when checking for SSA locals</title>
<updated>2021-06-07T03:33:49+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2021-05-27T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4237a052330ddc39fc458b42238bdc50c8584d73'/>
<id>urn:sha1:4237a052330ddc39fc458b42238bdc50c8584d73</id>
<content type='text'>
When rebuilding the standard library, this change reduces the number of
locals that require an alloca from 62452 to 62348.
</content>
</entry>
<entry>
<title>Rollup merge of #85965 - tmiasko:a, r=nagisa</title>
<updated>2021-06-06T23:06:51+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2021-06-06T23:06:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3c76f6d98d6a8161419582c3663638687acae12'/>
<id>urn:sha1:a3c76f6d98d6a8161419582c3663638687acae12</id>
<content type='text'>
Remove dead code from `LocalAnalyzer`
</content>
</entry>
<entry>
<title>Remove check for projections in a branch without any</title>
<updated>2021-06-03T14:29:38+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2021-06-03T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=624c693508e94de2c962a4341d843313e5837511'/>
<id>urn:sha1:624c693508e94de2c962a4341d843313e5837511</id>
<content type='text'>
The else branch is taken when projection slice is empty so everything
except for the call to the `visit_local` is a dead code.
</content>
</entry>
<entry>
<title>Remove unused support for `VarDebugInfo`</title>
<updated>2021-06-03T14:29:21+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2021-06-02T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=59b6583287eb90598af98d916aaed617b148b4a3'/>
<id>urn:sha1:59b6583287eb90598af98d916aaed617b148b4a3</id>
<content type='text'>
This code has been dead since changes in 68961.
</content>
</entry>
<entry>
<title>Remove special handling of `box_free` from `LocalAnalyzer`</title>
<updated>2021-05-31T00:00:00+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2021-05-31T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=76695c41dae351466deb277f0dbc0c60ca1bca7c'/>
<id>urn:sha1:76695c41dae351466deb277f0dbc0c60ca1bca7c</id>
<content type='text'>
The special casing of `box_free` predates the use of dominators in
analyzer. It is no longer necessary now that analyzer verifies that
the first assignment dominates all uses.
</content>
</entry>
<entry>
<title>Auto merge of #82936 - oli-obk:valtree, r=RalfJung,lcnr,matthewjasper</title>
<updated>2021-03-16T22:42:56+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-03-16T22:42:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e655fb62216b6ba64a094b30f116d7988d19322d'/>
<id>urn:sha1:e655fb62216b6ba64a094b30f116d7988d19322d</id>
<content type='text'>
Implement (but don't use) valtree and refactor in preparation of use

This PR does not cause any functional change. It refactors various things that are needed to make valtrees possible. This refactoring got big enough that I decided I'd want it reviewed as a PR instead of trying to make one huge PR with all the changes.

cc `@rust-lang/wg-const-eval` on the following commits:

* 2027184 implement valtree
* eeecea9 fallible Scalar -&gt; ScalarInt
* 042f663 ScalarInt convenience methods

cc `@eddyb` on ef04a6d

cc `@rust-lang/wg-mir-opt` for cf1700c (`mir::Constant` can now represent either a `ConstValue` or a `ty::Const`, and it is totally possible to have two different representations for the same value)
</content>
</entry>
<entry>
<title>Do not emit alloca for ZST local even if it is uninitialized</title>
<updated>2021-03-13T23:01:14+00:00</updated>
<author>
<name>Simon Vandel Sillesen</name>
<email>simon.vandel@gmail.com</email>
</author>
<published>2021-01-03T14:45:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=35566bfd7dd2e316d190078703de54a4dadda062'/>
<id>urn:sha1:35566bfd7dd2e316d190078703de54a4dadda062</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `ty` helper function for mir constants</title>
<updated>2021-03-12T12:33:46+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github35764891676564198441@oli-obk.de</email>
</author>
<published>2021-03-08T14:14:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=914df2a493a0f14e1b74db8618016c4de2feedce'/>
<id>urn:sha1:914df2a493a0f14e1b74db8618016c4de2feedce</id>
<content type='text'>
This is in preparation of the `literal` field becoming an enum that distinguishes between type level constants and runtime constants
</content>
</entry>
<entry>
<title>make `visit_projection` take a `PlaceRef`</title>
<updated>2021-02-16T08:50:36+00:00</updated>
<author>
<name>Henry Boisdequin</name>
<email>65845077+henryboisdequin@users.noreply.github.com</email>
</author>
<published>2021-02-16T08:50:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5ec4b060a793b7e04e87654b1d96f5d1fca23667'/>
<id>urn:sha1:5ec4b060a793b7e04e87654b1d96f5d1fca23667</id>
<content type='text'>
</content>
</entry>
</feed>
