mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Adjust LoongArch64 data layouts for LLVM update
The data layout was changed in LLVM 19: llvm/llvm-project#93814
This commit is contained in:
parent
bdb1b7f5d9
commit
4a06a5bc7a
@ -142,6 +142,14 @@ pub unsafe fn create_module<'ll>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if llvm_version < (19, 0, 0) {
|
||||||
|
if sess.target.arch == "loongarch64" {
|
||||||
|
// LLVM 19 updates the LoongArch64 data layout.
|
||||||
|
// See https://github.com/llvm/llvm-project/pull/93814
|
||||||
|
target_data_layout = target_data_layout.replace("-n32:64", "-n64");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Ensure the data-layout values hardcoded remain the defaults.
|
// Ensure the data-layout values hardcoded remain the defaults.
|
||||||
{
|
{
|
||||||
let tm = crate::back::write::create_informational_target_machine(tcx.sess);
|
let tm = crate::back::write::create_informational_target_machine(tcx.sess);
|
||||||
|
@ -10,7 +10,7 @@ pub fn target() -> Target {
|
|||||||
std: None,
|
std: None,
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
|
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "loongarch64".into(),
|
arch: "loongarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
cpu: "generic".into(),
|
cpu: "generic".into(),
|
||||||
|
@ -10,7 +10,7 @@ pub fn target() -> Target {
|
|||||||
std: None,
|
std: None,
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
|
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "loongarch64".into(),
|
arch: "loongarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
cpu: "generic".into(),
|
cpu: "generic".into(),
|
||||||
|
@ -11,7 +11,7 @@ pub fn target() -> Target {
|
|||||||
std: None,
|
std: None,
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
|
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "loongarch64".into(),
|
arch: "loongarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
cpu: "generic".into(),
|
cpu: "generic".into(),
|
||||||
|
@ -11,7 +11,7 @@ pub fn target() -> Target {
|
|||||||
std: None,
|
std: None,
|
||||||
},
|
},
|
||||||
pointer_width: 64,
|
pointer_width: 64,
|
||||||
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".into(),
|
data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(),
|
||||||
arch: "loongarch64".into(),
|
arch: "loongarch64".into(),
|
||||||
options: TargetOptions {
|
options: TargetOptions {
|
||||||
cpu: "generic".into(),
|
cpu: "generic".into(),
|
||||||
|
Loading…
Reference in New Issue
Block a user