<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp, branch 1.65.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.65.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.65.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-09-09T05:02:30+00:00</updated>
<entry>
<title>Rollup merge of #99207 - 5225225:msan-eager-checks, r=jackh726</title>
<updated>2022-09-09T05:02:30+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-09-09T05:02:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6d2033512b37a7e6f1b659404e471c2352b2f83f'/>
<id>urn:sha1:6d2033512b37a7e6f1b659404e471c2352b2f83f</id>
<content type='text'>
Enable eager checks for memory sanitizer

Fixes #99179
</content>
</entry>
<entry>
<title>llvm-wrapper: adapt for LLVM API changes</title>
<updated>2022-09-07T13:37:59+00:00</updated>
<author>
<name>Krasimir Georgiev</name>
<email>krasimir@google.com</email>
</author>
<published>2022-09-07T12:08:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3b60f1769303cad5221e44f8a0c4d76182db346'/>
<id>urn:sha1:a3b60f1769303cad5221e44f8a0c4d76182db346</id>
<content type='text'>
No functional changes intended.

Adapts PassWrapper for two recent LLVM API changes:
* https://github.com/llvm/llvm-project/commit/e7bac3b9fa739f8d167a390a547068aad1d424a7
* https://github.com/llvm/llvm-project/commit/93600eb50ceeec83c488ded24fa0fd25f997fec6
* https://github.com/llvm/llvm-project/commit/5e38b2a456df6e263a509af60a731cec57310498
</content>
</entry>
<entry>
<title>llvm-wrapper: use new pass manager for thin lto with LLVM version 15</title>
<updated>2022-08-17T09:16:37+00:00</updated>
<author>
<name>Krasimir Georgiev</name>
<email>krasimir@google.com</email>
</author>
<published>2022-08-16T13:02:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7cba1f9eab463738f6b3530597cae76cd8bc4dc0'/>
<id>urn:sha1:7cba1f9eab463738f6b3530597cae76cd8bc4dc0</id>
<content type='text'>
No functional changes intended.

LLVM commit https://github.com/llvm/llvm-project/commit/633f5663c37a670e28040cadd938200abd854483 removed `createWriteThinLTOBitcodePass`.
This adapts PassWrapper similarly to the example mentioned upstream: https://github.com/llvm/llvm-project/commit/633f5663c37a670e28040cadd938200abd854483.
</content>
</entry>
<entry>
<title>Rollup merge of #100460 - cuviper:drop-llvm-12, r=nagisa</title>
<updated>2022-08-16T04:05:57+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-08-16T04:05:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0b19a185dbeaad0925480df0bba641749ad2d850'/>
<id>urn:sha1:0b19a185dbeaad0925480df0bba641749ad2d850</id>
<content type='text'>
Update the minimum external LLVM to 13

With this change, we'll have stable support for LLVM 13 through 15 (pending release).
For reference, the previous increase to LLVM 12 was #90175.

r? `@nagisa`
</content>
</entry>
<entry>
<title>Update the minimum external LLVM to 13</title>
<updated>2022-08-14T20:46:51+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2022-08-12T17:22:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2970ad8aeeaa94ad5af5fc49150c14bcf86bf7c9'/>
<id>urn:sha1:2970ad8aeeaa94ad5af5fc49150c14bcf86bf7c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enable eager checks for memory sanitizer</title>
<updated>2022-08-14T09:37:03+00:00</updated>
<author>
<name>5225225</name>
<email>5225225@mailbox.org</email>
</author>
<published>2022-08-14T09:37:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=66dcf5dfee0942d09d7a030a5c891d0a79cd8426'/>
<id>urn:sha1:66dcf5dfee0942d09d7a030a5c891d0a79cd8426</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for generating unique *.profraw files by default when using the `-C instrument-coverage` flag.</title>
<updated>2022-08-11T23:04:08+00:00</updated>
<author>
<name>ridwanabdillahi</name>
<email>91507758+ridwanabdillahi@users.noreply.github.com</email>
</author>
<published>2022-08-10T16:16:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=100882296e065526cfd055380e14334738da4158'/>
<id>urn:sha1:100882296e065526cfd055380e14334738da4158</id>
<content type='text'>
Respond to PR comments.
</content>
</entry>
<entry>
<title>Remove dead code from cg_llvm</title>
<updated>2022-07-26T11:29:18+00:00</updated>
<author>
<name>bjorn3</name>
<email>17426603+bjorn3@users.noreply.github.com</email>
</author>
<published>2022-07-26T11:29:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=017e1726ff658117f43854181fb75c6b26a53b88'/>
<id>urn:sha1:017e1726ff658117f43854181fb75c6b26a53b88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #98162 - nextsilicon:support_lto_embed_bitcode, r=davidtwco</title>
<updated>2022-07-21T10:13:59+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-07-21T10:13:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=74f600b990240556c9a355c5d03293a10934bd1b'/>
<id>urn:sha1:74f600b990240556c9a355c5d03293a10934bd1b</id>
<content type='text'>
Allow to disable thinLTO buffer to support lto-embed-bitcode lld feature

Hello
This change is to fix issue (https://github.com/rust-lang/rust/issues/84395) in which passing "-lto-embed-bitcode=optimized" to lld when linking rust code via linker-plugin-lto doesn't produce the expected result.

Instead of emitting a single unified module into a llvmbc section of the linked elf, it emits multiple submodules.
This is caused because rustc emits the BC modules after running llvm `createWriteThinLTOBitcodePass` pass.
Which in turn triggers a thinLTO linkage and causes the said issue.

This patch allows via compiler flag (-Cemit-thin-lto=&lt;bool&gt;) to select between running `createWriteThinLTOBitcodePass` and `createBitcodeWriterPass`.
Note this pattern of selecting between those 2 passes is common inside of LLVM code.
The default is to match the old behavior.
</content>
</entry>
<entry>
<title>Auto merge of #95685 - oxidecomputer:restore-static-dwarf, r=pnkfelix</title>
<updated>2022-07-16T00:18:54+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-07-16T00:18:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e6c43cf8b98e4837bbee1cab225621001a3f2230'/>
<id>urn:sha1:e6c43cf8b98e4837bbee1cab225621001a3f2230</id>
<content type='text'>
Revert "Work around invalid DWARF bugs for fat LTO"

Since September, the toolchain has not been generating reliable DWARF
information for static variables when LTO is on. This has affected
projects in the embedded space where the use of LTO is typical. In our
case, it has kept us from bumping past the 2021-09-22 nightly toolchain
lest our debugger break. This has been a pretty dramatic regression for
people using debuggers and static variables. See #90357 for more info
and a repro case.

This commit is a mechanical revert of
d5de680e20def848751cb3c11e1182408112b1d3 from PR #89041, which caused
the issue. (Note on that PR that the commit's author has requested it be
reverted.)

I have locally verified that this fixes #90357 by restoring the
functionality of both the repro case I posted on that bug, and debugger
behavior on real programs. There do not appear to be test cases for this
in the toolchain; if I've missed them, point me at 'em and I'll update
them.
</content>
</entry>
</feed>
