Rollup merge of #132741 - zmodem:mips_data_layout, r=nikic
Update mips64 data layout to match LLVM 20 change LLVM changed the data layout in https://github.com/llvm/llvm-project/pull/112084
This commit is contained in:
commit
97dbab9124
@ -154,6 +154,11 @@ pub(crate) unsafe fn create_module<'ll>(
|
|||||||
// See https://github.com/llvm/llvm-project/pull/106951
|
// See https://github.com/llvm/llvm-project/pull/106951
|
||||||
target_data_layout = target_data_layout.replace("-i128:128", "");
|
target_data_layout = target_data_layout.replace("-i128:128", "");
|
||||||
}
|
}
|
||||||
|
if sess.target.arch.starts_with("mips64") {
|
||||||
|
// LLVM 20 updates the mips64 layout to correctly align 128 bit integers to 128 bit.
|
||||||
|
// See https://github.com/llvm/llvm-project/pull/112084
|
||||||
|
target_data_layout = target_data_layout.replace("-i128:128", "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure the data-layout values hardcoded remain the defaults.
|
// Ensure the data-layout values hardcoded remain the defaults.
|
||||||
|
@ -20,7 +20,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64".into(),
|
arch: "mips64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
abi: "abi64".into(),
|
abi: "abi64".into(),
|
||||||
|
@ -11,7 +11,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64".into(),
|
arch: "mips64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
abi: "abi64".into(),
|
abi: "abi64".into(),
|
||||||
|
@ -16,7 +16,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64".into(),
|
arch: "mips64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
abi: "abi64".into(),
|
abi: "abi64".into(),
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64".into(),
|
arch: "mips64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
abi: "abi64".into(),
|
abi: "abi64".into(),
|
||||||
|
@ -15,7 +15,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64".into(),
|
arch: "mips64".into(),
|
||||||
options: TargetOptions { abi: "abi64".into(), mcount: "_mcount".into(), ..base },
|
options: TargetOptions { abi: "abi64".into(), mcount: "_mcount".into(), ..base },
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: None, // ?
|
std: None, // ?
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64r6".into(),
|
arch: "mips64r6".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
abi: "abi64".into(),
|
abi: "abi64".into(),
|
||||||
|
@ -10,7 +10,7 @@ pub(crate) fn target() -> Target {
|
|||||||
std: Some(true),
|
std: Some(true),
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128".into(),
|
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "mips64r6".into(),
|
arch: "mips64r6".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
abi: "abi64".into(),
|
abi: "abi64".into(),
|
||||||
|
Loading…
Reference in New Issue
Block a user