Auto merge of #93577 - nikic:llvm-14, r=nagisa
Upgrade to LLVM 14 LLVM patch state: * [x]a55727f334
Backported. * [x]c3c82dc124
Backported as917c47b3bf
. * [x]6e8f9ab632
No plan to upstream. * [x]319f4b2d52
Backported. * [x]8b2c25d321
No plan to upstream. * [x]75fef2efd4
No plan to upstream. * [ ]adef757547
Upstreamed as2d2ef384b2
. Needs backport. * [x]4b7c1b4910
No plan to upstream. * [x]3f5ab0c061
No plan to upstream. * [x]514d05500e
No plan to upstream. * [ ]54c5869585
Under review at https://reviews.llvm.org/D119695 and https://reviews.llvm.org/D119856. Release timeline: * LLVM 14.0.0 final planned for Mar 15. * Rust 1.60.0 planned for Apr 7. Compile-time: * https://perf.rust-lang.org/compare.html?start=250384edc5d78533e993f38c60d64e42b21684b2&end=b87df8d2c7c5d9ac448c585de10927ab2ee1b864 * A slight improvement on average, though no big changes either way. * There are some larger max-rss improvements. r? `@ghost`
This commit is contained in:
commit
30b3f35c42
13 changed files with 54 additions and 30 deletions
|
@ -135,7 +135,8 @@ pub unsafe fn create_module<'ll>(
|
|||
let llmod = llvm::LLVMModuleCreateWithNameInContext(mod_name.as_ptr(), llcx);
|
||||
|
||||
let mut target_data_layout = sess.target.data_layout.clone();
|
||||
if llvm_util::get_version() < (13, 0, 0) {
|
||||
let llvm_version = llvm_util::get_version();
|
||||
if llvm_version < (13, 0, 0) {
|
||||
if sess.target.arch == "powerpc64" {
|
||||
target_data_layout = target_data_layout.replace("-S128", "");
|
||||
}
|
||||
|
@ -146,6 +147,18 @@ pub unsafe fn create_module<'ll>(
|
|||
target_data_layout = "e-m:e-p:64:64-i64:64-n32:64-S128".to_string();
|
||||
}
|
||||
}
|
||||
if llvm_version < (14, 0, 0) {
|
||||
if sess.target.llvm_target == "i686-pc-windows-msvc"
|
||||
|| sess.target.llvm_target == "i586-pc-windows-msvc"
|
||||
{
|
||||
target_data_layout =
|
||||
"e-m:x-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:32-n8:16:32-a:0:32-S32"
|
||||
.to_string();
|
||||
}
|
||||
if sess.target.arch == "wasm32" {
|
||||
target_data_layout = target_data_layout.replace("-p10:8:8-p20:8:8", "");
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure the data-layout values hardcoded remain the defaults.
|
||||
if sess.target.is_builtin {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue