about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimonas Kazlauskas <git@kazlauskas.me>2017-06-03 15:07:57 +0300
committerSimonas Kazlauskas <git@kazlauskas.me>2017-06-08 17:09:28 +0300
commit8938269db63bf1f9c0f17f3c2c39d3449b4d652e (patch)
tree545b89cda2c95308543d07f0b76b836880eab764
parentf09576c4a41727a8d10bbfd8fd3fb2e10e1be3b3 (diff)
downloadrust-8938269db63bf1f9c0f17f3c2c39d3449b4d652e.tar.gz
rust-8938269db63bf1f9c0f17f3c2c39d3449b4d652e.zip
Upgrade LLVM
Includes https://github.com/rust-lang/llvm/pull/80
Includes https://github.com/rust-lang/llvm/pull/79

Also adds tests and thus fixes #24194
m---------src/llvm0
-rw-r--r--src/rustllvm/llvm-rebuild-trigger2
-rw-r--r--src/test/codegen/alloc-optimisation.rs28
3 files changed, 29 insertions, 1 deletions
diff --git a/src/llvm b/src/llvm
-Subproject 1ef3b9128e1baaed61b42d5b0de79dee100acf1
+Subproject 84c52ce9b75d841629e6f821b3794998fb0ddbd
diff --git a/src/rustllvm/llvm-rebuild-trigger b/src/rustllvm/llvm-rebuild-trigger
index 70663f30e8f..b2746bb6e68 100644
--- a/src/rustllvm/llvm-rebuild-trigger
+++ b/src/rustllvm/llvm-rebuild-trigger
@@ -1,4 +1,4 @@
 # If this file is modified, then llvm will be (optionally) cleaned and then rebuilt.
 # The actual contents of this file do not matter, but to trigger a change on the
 # build bots then the contents should be changed so git updates the mtime.
-2017-05-13
+2017-06-03
diff --git a/src/test/codegen/alloc-optimisation.rs b/src/test/codegen/alloc-optimisation.rs
new file mode 100644
index 00000000000..3953f637cf7
--- /dev/null
+++ b/src/test/codegen/alloc-optimisation.rs
@@ -0,0 +1,28 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+#![crate_type="lib"]
+
+#[no_mangle]
+pub fn alloc_zeroed_test(size: u8) {
+    // CHECK-LABEL: @alloc_zeroed_test
+    // CHECK-NEXT: start:
+    // CHECK-NEXT: ret void
+    let x = vec![0u8; size as usize];
+    drop(x);
+}
+
+#[no_mangle]
+pub fn alloc_test(data: u32) {
+    // CHECK-LABEL: @alloc_test
+    // CHECK-NEXT: start:
+    // CHECK-NEXT: ret void
+    let x = Box::new(data);
+    drop(x);
+}