<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/codegen, branch 1.45.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.45.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.45.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-06-13T19:50:29+00:00</updated>
<entry>
<title>Revert "Defer creating drop trees in MIR lowering until leaving that scope"</title>
<updated>2020-06-13T19:50:29+00:00</updated>
<author>
<name>Felix S. Klock II</name>
<email>pnkfelix@pnkfx.org</email>
</author>
<published>2020-06-04T15:34:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3d24f93cb799ccf5082d28a30504f1af440919f'/>
<id>urn:sha1:f3d24f93cb799ccf5082d28a30504f1af440919f</id>
<content type='text'>
This reverts commit 611988551fba1bcbb33ae2e1e0171cb8d2e70d5a.
</content>
</entry>
<entry>
<title>Added a codegen test for a recent optimization for overflow-checks=on</title>
<updated>2020-05-24T20:20:02+00:00</updated>
<author>
<name>Alex Gaynor</name>
<email>alex.gaynor@gmail.com</email>
</author>
<published>2020-05-24T20:20:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cd5f228acd214c0a6555756b060dd0223d31050d'/>
<id>urn:sha1:cd5f228acd214c0a6555756b060dd0223d31050d</id>
<content type='text'>
Closes #58692</content>
</entry>
<entry>
<title>Auto merge of #71718 - NeoRaider:ffi_const_pure, r=Amanieu</title>
<updated>2020-05-21T15:02:08+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-05-21T15:02:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=148c125b1bf20674e8d0c55c21b3433a6d465b07'/>
<id>urn:sha1:148c125b1bf20674e8d0c55c21b3433a6d465b07</id>
<content type='text'>
Experimentally add `ffi_const` and `ffi_pure` extern fn attributes

Add FFI function attributes corresponding to clang/gcc/... `const` and `pure`.

Rebased version of #58327 by @gnzlbg with the following changes:

- Switched back from the `c_ffi_const` and `c_ffi_pure` naming to `ffi_const` and `ffi_pure`, as I agree with https://github.com/rust-lang/rust/pull/58327#issuecomment-462718772 and this nicely aligns with `ffi_returns_twice`
- (Hopefully) took care of all of @hanna-kruppe's change requests in the original PR

r? @hanna-kruppe
</content>
</entry>
<entry>
<title>Auto merge of #72205 - ecstatic-morse:nrvo, r=oli-obk</title>
<updated>2020-05-21T07:16:44+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-05-21T07:16:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7f79e98c0356642db62e5113327e436c951e843d'/>
<id>urn:sha1:7f79e98c0356642db62e5113327e436c951e843d</id>
<content type='text'>
Dumb NRVO

This is a very simple version of an NRVO pass, which scans backwards from the `return` terminator to see if there is an an assignment like `_0 = _1`. If a basic block with two or more predecessors is encountered during this scan without first seeing an assignment to the return place, we bail out. This avoids running a full "reaching definitions" dataflow analysis.

I wanted to see how much `rustc` would benefit from even a very limited version of this optimization. We should be able to use this as a point of comparison for more advanced versions that are based on live ranges.

r? @ghost
</content>
</entry>
<entry>
<title>Rollup merge of #72139 - nnethercote:standalone-fold, r=cuviper</title>
<updated>2020-05-20T12:21:06+00:00</updated>
<author>
<name>Dylan DPC</name>
<email>dylan.dpc@gmail.com</email>
</author>
<published>2020-05-20T12:21:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5c52f9f9167730cf48c387366be289d53a485754'/>
<id>urn:sha1:5c52f9f9167730cf48c387366be289d53a485754</id>
<content type='text'>
Make `fold` standalone.

`fold` is currently implemented via `try_fold`, but implementing it
directly results in slightly less LLVM IR being generated, speeding up
compilation of some benchmarks.

r? @cuviper
</content>
</entry>
<entry>
<title>Add tests for `#[ffi_const]` and `#[ffi_pure]` function attributes</title>
<updated>2020-05-19T23:16:11+00:00</updated>
<author>
<name>Matthias Schiffer</name>
<email>mschiffer@universe-factory.net</email>
</author>
<published>2020-04-13T22:21:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a7d7f0bbe962811d2e5207762aa92c2059c33d1a'/>
<id>urn:sha1:a7d7f0bbe962811d2e5207762aa92c2059c33d1a</id>
<content type='text'>
Based on the work of gnzlbg &lt;gonzalobg88@gmail.com&gt;.
</content>
</entry>
<entry>
<title>Add tests for asm!</title>
<updated>2020-05-18T13:41:32+00:00</updated>
<author>
<name>Amanieu d'Antras</name>
<email>amanieu@gmail.com</email>
</author>
<published>2020-02-20T09:19:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8ab0f2d3c5a85563b98c4896116e3d53154fff9c'/>
<id>urn:sha1:8ab0f2d3c5a85563b98c4896116e3d53154fff9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make `fold` standalone.</title>
<updated>2020-05-17T19:41:59+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>nnethercote@mozilla.com</email>
</author>
<published>2020-05-13T23:39:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4b7c3d88c6488d552214738cfb4dc0a05549a103'/>
<id>urn:sha1:4b7c3d88c6488d552214738cfb4dc0a05549a103</id>
<content type='text'>
`fold` is currently implemented via `try_fold`, but implementing it
directly results in slightly less LLVM IR being generated, speeding up
compilation of some benchmarks.

(And likewise for `rfold`.)

The commit adds `fold` implementations to all the iterators that lack
one but do have a `try_fold` implementation. Most of these just call the
`try_fold` implementation directly.
</content>
</entry>
<entry>
<title>Test that NRVO elides the call to `memcpy`</title>
<updated>2020-05-17T17:24:06+00:00</updated>
<author>
<name>Dylan MacKenzie</name>
<email>ecstaticmorse@gmail.com</email>
</author>
<published>2020-05-17T17:24:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=856cd6609f42f3dfb71a060205981f075a22c541'/>
<id>urn:sha1:856cd6609f42f3dfb71a060205981f075a22c541</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Disable MIR optimization for alignment codegen tests</title>
<updated>2020-05-17T00:15:24+00:00</updated>
<author>
<name>Dylan MacKenzie</name>
<email>ecstaticmorse@gmail.com</email>
</author>
<published>2020-05-16T20:42:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8c710118f631af9b075bbc2e24c4a61fd901a130'/>
<id>urn:sha1:8c710118f631af9b075bbc2e24c4a61fd901a130</id>
<content type='text'>
NRVO optimizes away the locals whose alignment is tested. I don't think
this affects the purpose of the test.
</content>
</entry>
</feed>
