# What is the principle of updating rust-lang/llvm?

**URL:** <https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135>\
**Category:** compiler\
**Created:** [January 31, 2016, 9:33am UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135 "2016-01-31T09:33:14Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![nodakai](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nodakai/32/6161_2.png) [@nodakai](https://internals.rust-lang.org/u/nodakai)\
**Post date:** [January 31, 2016, 9:33am UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/1 "2016-01-31T09:33:14Z")

</div>

I’m just curious, are there any reasons not to use the officially tagged release (3.7.1 as of today) ? Isn’t the 3.8 dev branch too cutting edge?

- [https://github.com/rust-lang/llvm/commits/rust-llvm-2015-10-22](https://github.com/rust-lang/llvm/commits/rust-llvm-2015-10-22)
- [https://github.com/llvm-mirror/llvm/commits/release\_38](https://github.com/llvm-mirror/llvm/commits/release_38)

Rebasing Rust-specific (optimization) patches onto an official release can make distro-specific packaging a bit easier.

---

<div class="post-metadata">

**Author:** ![huon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/huon/32/3698_2.png) [@huon](https://internals.rust-lang.org/u/huon)\
**Post date:** [January 31, 2016, 10:49am UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/2 "2016-01-31T10:49:20Z")

</div>

I believe Rust can work with LLVM 3.6 and 3.7 (and possibly even 3.5), as well as the built-in one.

---

<div class="post-metadata">

**Author:** ![alexcrichton](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/alexcrichton/32/4501_2.png) [@alexcrichton](https://internals.rust-lang.org/u/alexcrichton)\
**Post date:** [January 31, 2016, 5:47pm UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/3 "2016-01-31T17:47:23Z")

</div>

I personally prefer to stick to LLVM releases wherever possible, but the update was done to [implement unwinding for i686 MSVC](https://github.com/rust-lang/rust/pull/30448) which I would personally deem more important than sticking with any one particular LLVM release.

As @huon mentioned we maintain compatibility with currently released versions of LLVM (e.g. 3.5-3.7), and we will merge anything necessary to be compatible with the 3.8 release as well.

---

<div class="post-metadata">

**Author:** ![nodakai](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/nodakai/32/6161_2.png) [@nodakai](https://internals.rust-lang.org/u/nodakai)\
**Post date:** [February 2, 2016, 9:30pm UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/4 "2016-02-02T21:30:35Z")

</div>

Thanks guys for the explanation. I observed some horrible crashes with my locally built i686-\>x86\_64 cross compiler and wondered if there was anything wrong with using the distro LLVM. I’ll post more details as a GitHub issue.

---

<div class="post-metadata">

**Author:** ![dotdash](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/dotdash/32/1111_2.png) [@dotdash](https://internals.rust-lang.org/u/dotdash)\
**Post date:** [February 2, 2016, 11:31pm UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/5 "2016-02-02T23:31:33Z")

</div>

A bugfix for a 32bit -\> 64bit cross compilation bug landed a few days ago, maybe you were running into that.

---

<div class="post-metadata">

**Author:** ![PeteVine](https://avatars.discourse-cdn.com/v4/letter/p/ce7236/32.png) [@PeteVine](https://internals.rust-lang.org/u/PeteVine)\
**Post date:** [February 3, 2016, 9:20pm UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/6 "2016-02-03T21:20:14Z")

</div>

Just in, an important fix for ARM cpu’s:

[http://llvm.org/viewvc/llvm-project?view=revision&revision=259657](http://llvm.org/viewvc/llvm-project?view=revision&revision=259657)

Hopefully it can be merged soon. Performance takes a x2 hit in certain scenarios without it.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/system/32/14092_2.png) [@system](https://internals.rust-lang.org/u/system)\
**Post date:** [March 25, 2019, 8:25am UTC](https://internals.rust-lang.org/t/what-is-the-principle-of-updating-rust-lang-llvm/3135/7 "2019-03-25T08:25:45Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
