]> git.lizzy.rs Git - rust.git/commit
Auto merge of #35261 - eddyb:llvm-autoupgrade, r=nikomatsakis
authorbors <bors@rust-lang.org>
Wed, 3 Aug 2016 20:24:53 +0000 (13:24 -0700)
committerGitHub <noreply@github.com>
Wed, 3 Aug 2016 20:24:53 +0000 (13:24 -0700)
commit0a3180baab7c361ee85958c88d971190649c3b70
tree388f739785d96d6aad567df67dc51b98704340c9
parenta0b4e6764809022433edbff275528ec2540bda73
parent63f0c4de6732b699e2b4ded5fb9a8530a1c8a5ac
Auto merge of #35261 - eddyb:llvm-autoupgrade, r=nikomatsakis

Support removed LLVM intrinsics by invoking its AutoUpgrade mechanism.

Turns out that LLVM sometimes renames platform intrinsics or replaces them with first-class instructions.
For example, signed minimum became `select (icmp SLT, a, b), a, b` where `a` and `b` are vectors.

This is blocking the Servo rustup ([relevant failure](http://build.servo.org/builders/windows-dev/builds/226/steps/compile/logs/stdio)), as they're using a few such intrinsics.
The fix in this PR is to invoke LLVM's own `AutoUpgrade` mechanism to do the replacements.