Skip to content

Commit 282778a

Browse files
committed
Auto merge of #94764 - nikic:update-llvm-3, r=nagisa
Update LLVM submodule This merges upstream changes from the 14.x release branch. Fixes #89609. Fixes #93923. Fixes #94032.
2 parents d7b282b + 6c58b5e commit 282778a

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

compiler/rustc_codegen_llvm/src/llvm_util.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -527,8 +527,9 @@ pub(crate) fn should_use_new_llvm_pass_manager(user_opt: &Option<bool>, target_a
527527
// The new pass manager is enabled by default for LLVM >= 13.
528528
// This matches Clang, which also enables it since Clang 13.
529529

530-
// FIXME: There are some perf issues with the new pass manager
531-
// when targeting s390x, so it is temporarily disabled for that
532-
// arch, see https://github.com/rust-lang/rust/issues/89609
533-
user_opt.unwrap_or_else(|| target_arch != "s390x" && llvm_util::get_version() >= (13, 0, 0))
530+
// There are some perf issues with the new pass manager when targeting
531+
// s390x with LLVM 13, so enable the new pass manager only with LLVM 14.
532+
// See https://github.com/rust-lang/rust/issues/89609.
533+
let min_version = if target_arch == "s390x" { 14 } else { 13 };
534+
user_opt.unwrap_or_else(|| llvm_util::get_version() >= (min_version, 0, 0))
534535
}

src/llvm-project

Submodule llvm-project updated 775 files

src/test/ui/issues/issue-23036.rs

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// run-pass
2-
// ignore-wasm32-bare FIXME(#93923) llvm miscompilation
32

43
use std::collections::HashMap;
54
use std::path::Path;

0 commit comments

Comments
 (0)