<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp, branch 1.76.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.76.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.76.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-01-12T10:27:00+00:00</updated>
<entry>
<title>Revert "Auto merge of #113923 - DianQK:restore-no-builtins-lto, r=pnkfelix"</title>
<updated>2024-01-12T10:27:00+00:00</updated>
<author>
<name>DianQK</name>
<email>dianqk@dianqk.net</email>
</author>
<published>2024-01-12T10:27:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=251322ea3dedb68aa96c8e830d1dbddc07229912'/>
<id>urn:sha1:251322ea3dedb68aa96c8e830d1dbddc07229912</id>
<content type='text'>
This reverts commit 8c2b57721728233e074db69d93517614de338055, reversing
changes made to 9cf18e98f82d85fa41141391d54485b8747da46f.
</content>
</entry>
<entry>
<title>Auto merge of #110494 - majaha:noTrapAfterNoreturn, r=nikic</title>
<updated>2023-12-16T18:55:01+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-12-16T18:55:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=02ad6676ddc7ea7bc3acd73f383180bc80185aeb'/>
<id>urn:sha1:02ad6676ddc7ea7bc3acd73f383180bc80185aeb</id>
<content type='text'>
Use the LLVM option NoTrapAfterNoreturn

Use this LLVM option: https://llvm.org/doxygen/classllvm_1_1TargetOptions.html#acd83fce25de1ac9f6c975135a8235c22 when TrapUnreachable is enabled. This prevents codegenning unnecessary double-traps in some situations.

See further discussion here: https://github.com/rust-lang/compiler-team/issues/618
</content>
</entry>
<entry>
<title>llvm-wrapper: adapt for LLVM API change</title>
<updated>2023-12-12T12:29:30+00:00</updated>
<author>
<name>Krasimir Georgiev</name>
<email>krasimir@google.com</email>
</author>
<published>2023-12-12T12:28:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=46a801559127441675f2341bd1d684809a47def1'/>
<id>urn:sha1:46a801559127441675f2341bd1d684809a47def1</id>
<content type='text'>
LLVM commit https://github.com/llvm/llvm-project/commit/f09cf34d00625e57dea5317a3ac0412c07292148 moved some functions to a different header:

https://buildkite.com/llvm-project/rust-llvm-integrate-prototype/builds/24416#018c5de6-b9c9-4b22-9473-6070d99dcfa7/233-537
</content>
</entry>
<entry>
<title>llvm-wrapper: adapt for LLVM API change</title>
<updated>2023-12-11T09:27:09+00:00</updated>
<author>
<name>Krasimir Georgiev</name>
<email>krasimir@google.com</email>
</author>
<published>2023-12-11T09:27:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a0c5079889b1f86dd9e246d8863a5c8b44fbdb78'/>
<id>urn:sha1:a0c5079889b1f86dd9e246d8863a5c8b44fbdb78</id>
<content type='text'>
LLVM commit https://github.com/llvm/llvm-project/commit/1d608fc755a3e15d0020f61c9535c9b730ab9dec
renamed the pass.
</content>
</entry>
<entry>
<title>Add emulated TLS support</title>
<updated>2023-12-06T16:21:32+00:00</updated>
<author>
<name>quininer</name>
<email>quininer@live.com</email>
</author>
<published>2023-11-13T12:48:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e5b76892cc5e6fbfb495bf6a7339962a287849a7'/>
<id>urn:sha1:e5b76892cc5e6fbfb495bf6a7339962a287849a7</id>
<content type='text'>
Currently LLVM uses emutls by default
for some targets (such as android, openbsd),
but rust does not use it, because `has_thread_local` is false.

This commit has some changes to allow users to enable emutls:

1. add `-Zhas-thread-local` flag to specify
    that std uses `#[thread_local]` instead of pthread key.
2. when using emutls, decorate symbol names
    to find thread local symbol correctly.
3. change `-Zforce-emulated-tls` to `-Ztls-model=emulated`
    to explicitly specify whether to generate emutls.
</content>
</entry>
<entry>
<title>Auto merge of #113923 - DianQK:restore-no-builtins-lto, r=pnkfelix</title>
<updated>2023-12-01T21:45:18+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-12-01T21:45:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8c2b57721728233e074db69d93517614de338055'/>
<id>urn:sha1:8c2b57721728233e074db69d93517614de338055</id>
<content type='text'>
Restore `#![no_builtins]` crates participation in LTO.

After #113716, we can make `#![no_builtins]` crates participate in LTO again.

`#![no_builtins]` with LTO does not result in undefined references to the error. I believe this type of issue won't happen again.

Fixes #72140.  Fixes #112245. Fixes #110606.  Fixes #105734. Fixes #96486. Fixes #108853. Fixes #108893. Fixes #78744. Fixes #91158. Fixes https://github.com/rust-lang/cargo/issues/10118. Fixes https://github.com/rust-lang/compiler-builtins/issues/347.

 The `nightly-2023-07-20` version does not always reproduce problems due to changes in compiler-builtins, core, and user code. That's why this issue recurs and disappears.
Some issues were not tested due to the difficulty of reproducing them.

r? pnkfelix

cc `@bjorn3` `@japaric` `@alexcrichton` `@Amanieu`
</content>
</entry>
<entry>
<title>Auto merge of #117947 - Dirbaio:drop-llvm-15, r=cuviper</title>
<updated>2023-11-27T21:54:03+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-11-27T21:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=49b3924bd4a34d3cf9c37b74120fba78d9712ab8'/>
<id>urn:sha1:49b3924bd4a34d3cf9c37b74120fba78d9712ab8</id>
<content type='text'>
Update the minimum external LLVM to 16.

With this change, we'll have stable support for LLVM 16 and 17.
For reference, the previous increase to LLVM 15 was #114148

[Relevant zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/riscv.20forced-atomics)
</content>
</entry>
<entry>
<title>remove unused pub fn</title>
<updated>2023-11-23T11:11:02+00:00</updated>
<author>
<name>klensy</name>
<email>klensy@users.noreply.github.com</email>
</author>
<published>2023-11-13T11:43:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aff6c741d466610576b02fde72d139aa8c6ec0a8'/>
<id>urn:sha1:aff6c741d466610576b02fde72d139aa8c6ec0a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update the minimum external LLVM to 16.</title>
<updated>2023-11-21T21:40:16+00:00</updated>
<author>
<name>Dario Nieuwenhuis</name>
<email>dirbaio@dirbaio.net</email>
</author>
<published>2023-11-15T18:58:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7de6d04bc8033644c09fd1273b6fb3164d04fab3'/>
<id>urn:sha1:7de6d04bc8033644c09fd1273b6fb3164d04fab3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tighten up linkage settings for LLVM bindings</title>
<updated>2023-11-21T18:43:11+00:00</updated>
<author>
<name>Ben Kimock</name>
<email>kimockb@gmail.com</email>
</author>
<published>2023-11-21T18:43:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e6f8edff3734ecfa55159da63343fbea3f1ee3a5'/>
<id>urn:sha1:e6f8edff3734ecfa55159da63343fbea3f1ee3a5</id>
<content type='text'>
</content>
</entry>
</feed>
