<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/rustllvm/PassWrapper.cpp, branch 1.43.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.43.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.43.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-03-03T07:37:44+00:00</updated>
<entry>
<title>Invoke OptimizerLastEPCallbacks in PreLinkThinLTO</title>
<updated>2020-03-03T07:37:44+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2020-03-03T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a61e13423e57380a08ea1475db57fc30cb7deb15'/>
<id>urn:sha1:a61e13423e57380a08ea1475db57fc30cb7deb15</id>
<content type='text'>
The default ThinLTO pre-link pipeline does not include optimizer last
extension points. Thus, when using the new LLVM pass manager &amp; ThinLTO
&amp; sanitizers on any opt-level different from zero, the sanitizer
function passes would be omitted from the pipeline.

Add optimizer last extensions points manually to the pipeline, but guard
registration with stage check in the case this behaviour changes in the
future.
</content>
</entry>
<entry>
<title>Auto merge of #69144 - Dylan-DPC:rollup-apt6zjj, r=Dylan-DPC</title>
<updated>2020-02-13T22:20:58+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-02-13T22:20:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=10104085e4f9f52f405fa1cc5e5e18c4c4cc72d1'/>
<id>urn:sha1:10104085e4f9f52f405fa1cc5e5e18c4c4cc72d1</id>
<content type='text'>
Rollup of 9 pull requests

Successful merges:

 - #68728 (parse: merge `fn` syntax + cleanup item parsing)
 - #68938 (fix lifetime shadowing check in GATs)
 - #69057 (expand: misc cleanups and simplifications)
 - #69108 (Use HirId in TraitCandidate.)
 - #69125 (Add comment to SGX entry code)
 - #69126 (miri: fix exact_div)
 - #69127 (Enable use after scope detection in the new LLVM pass manager)
 - #69135 (Spelling error "represening" to "representing")
 - #69141 (Don't error on network failures)

Failed merges:

r? @ghost
</content>
</entry>
<entry>
<title>add selfprofiling for new llvm passmanager</title>
<updated>2020-02-13T07:02:18+00:00</updated>
<author>
<name>Andreas Jonson</name>
<email>andjo403@users.noreply.github.com</email>
</author>
<published>2020-02-11T21:37:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cec0ed0219c4e4961b9e7a33419d716a5ddf0e5d'/>
<id>urn:sha1:cec0ed0219c4e4961b9e7a33419d716a5ddf0e5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enable use after scope detection in the new LLVM pass manager</title>
<updated>2020-02-13T00:00:00+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2020-02-13T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=91b4a24219f33b7ad28b5ba147d50bc160c6f56c'/>
<id>urn:sha1:91b4a24219f33b7ad28b5ba147d50bc160c6f56c</id>
<content type='text'>
Implementation of 08a1c566a792dcf9657d293155f7ada87746bb65 for the new
LLVM pass manager, support for which landed in the meantime.
</content>
</entry>
<entry>
<title>Add support for new pass manager</title>
<updated>2020-02-12T14:34:16+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-01-05T18:16:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c6b0803202c95abd614c8ea448f7c7ff948da31a'/>
<id>urn:sha1:c6b0803202c95abd614c8ea448f7c7ff948da31a</id>
<content type='text'>
The new pass manager can be enabled using
-Z new-llvm-pass-manager=on.
</content>
</entry>
<entry>
<title>Add support for enabling the LLVM time-trace feature</title>
<updated>2020-02-01T19:19:17+00:00</updated>
<author>
<name>Wesley Wiser</name>
<email>wwiser@gmail.com</email>
</author>
<published>2020-01-31T23:58:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f5f86be1d40f30b3183ec148f443afa73d0cbe15'/>
<id>urn:sha1:f5f86be1d40f30b3183ec148f443afa73d0cbe15</id>
<content type='text'>
I found this helpful while investigating an LLVM performance issue.
Passing `-Z llvm-time-trace` causes a `llvm_timings.json` file to be
created. This file can be inspected in either the Chrome Profiler tools
or with any other compatible tool like SpeedScope.

More information on the LLVM feature:

- https://aras-p.info/blog/2019/01/16/time-trace-timeline-flame-chart-profiler-for-Clang/

- https://reviews.llvm.org/rL357340
</content>
</entry>
<entry>
<title>Detect use-after-scope bugs with AddressSanitizer</title>
<updated>2020-01-27T15:56:25+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2020-01-27T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=08a1c566a792dcf9657d293155f7ada87746bb65'/>
<id>urn:sha1:08a1c566a792dcf9657d293155f7ada87746bb65</id>
<content type='text'>
Enable use-after-scope checks by default when using AddressSanitizer.
They allow to detect incorrect use of stack objects after their scope
have already ended. The detection is based on LLVM lifetime intrinsics.

To facilitate the use of this functionality, the lifetime intrinsics are
now emitted regardless of optimization level if enabled sanitizer makes
use of them.
</content>
</entry>
<entry>
<title>Update thinLTOInternalizeAndPromoteInIndex() usage</title>
<updated>2020-01-07T20:28:22+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2019-12-31T13:14:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8010f4037a3f8a875d121224f2e02914e941c257'/>
<id>urn:sha1:8010f4037a3f8a875d121224f2e02914e941c257</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Handle removal of llvm::make_unique()</title>
<updated>2020-01-07T20:28:22+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2019-12-31T13:08:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=30ec68a545ebc128ea8009186249b5b3616c3586'/>
<id>urn:sha1:30ec68a545ebc128ea8009186249b5b3616c3586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>CodeGenFileType moved outside TargetMachine</title>
<updated>2020-01-07T20:28:21+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2019-12-31T13:05:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3ec3aa72d4ce2914d04f9dca401f38284be2c2c7'/>
<id>urn:sha1:3ec3aa72d4ce2914d04f9dca401f38284be2c2c7</id>
<content type='text'>
</content>
</entry>
</feed>
