Skip to content

Commit 958d563

Browse files
committed
trans: Clean up handling the LLVM data layout
Turns out for OSX our data layout was subtly wrong and the LLVM update must have exposed this. Instead of fixing this I've removed all data layouts from the compiler to just use the defaults that LLVM provides for all targets. All data layouts (and a number of dead modules) are removed from the compiler here. Custom target specifications can still provide a custom data layout, but it is now an optional key as the default will be used if one isn't specified.
1 parent 74e1981 commit 958d563

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+95
-541
lines changed

src/librustc/lib.rs

-6
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,8 @@ pub mod diagnostics;
9999

100100
pub mod back {
101101
pub use rustc_back::abi;
102-
pub use rustc_back::arm;
103-
pub use rustc_back::mips;
104-
pub use rustc_back::mipsel;
105102
pub use rustc_back::rpath;
106103
pub use rustc_back::svh;
107-
pub use rustc_back::target_strs;
108-
pub use rustc_back::x86;
109-
pub use rustc_back::x86_64;
110104
}
111105

112106
pub mod ast_map;

src/librustc_back/arm.rs

-77
This file was deleted.

src/librustc_back/lib.rs

-6
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,7 @@ extern crate rustc_llvm;
5252

5353
pub mod abi;
5454
pub mod tempdir;
55-
pub mod arm;
56-
pub mod mips;
57-
pub mod mipsel;
5855
pub mod rpath;
5956
pub mod sha2;
6057
pub mod svh;
61-
pub mod target_strs;
62-
pub mod x86;
63-
pub mod x86_64;
6458
pub mod target;

src/librustc_back/mips.rs

-72
This file was deleted.

src/librustc_back/mipsel.rs

-72
This file was deleted.

src/librustc_back/target/aarch64_apple_ios.rs

-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16-
// reference layout: e-m:o-i64:64-i128:128-n32:64-S128
17-
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
18-
i128:128-f32:32:32-f64:64:64-v64:64:64-v128:128:128-\
19-
a:0:64-n32:64-S128".to_string(),
2016
llvm_target: "arm64-apple-ios".to_string(),
2117
target_endian: "little".to_string(),
2218
target_pointer_width: "64".to_string(),

src/librustc_back/target/aarch64_linux_android.rs

-3
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ use target::Target;
1212

1313
pub fn target() -> Target {
1414
Target {
15-
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
16-
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-\
17-
n32:64-S128".to_string(),
1815
llvm_target: "aarch64-linux-android".to_string(),
1916
target_endian: "little".to_string(),
2017
target_pointer_width: "64".to_string(),

src/librustc_back/target/aarch64_unknown_linux_gnu.rs

-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ use target::Target;
1313
pub fn target() -> Target {
1414
let base = super::linux_base::opts();
1515
Target {
16-
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
17-
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-\
18-
n32:64-S128".to_string(),
1916
llvm_target: "aarch64-unknown-linux-gnu".to_string(),
2017
target_endian: "little".to_string(),
2118
target_pointer_width: "64".to_string(),

src/librustc_back/target/arm_linux_androideabi.rs

-3
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ pub fn target() -> Target {
1515
base.features = "+v7".to_string();
1616

1717
Target {
18-
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
19-
f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:64-\
20-
n32".to_string(),
2118
llvm_target: "arm-linux-androideabi".to_string(),
2219
target_endian: "little".to_string(),
2320
target_pointer_width: "32".to_string(),

src/librustc_back/target/arm_unknown_linux_gnueabi.rs

-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ use target::{Target, TargetOptions};
1313
pub fn target() -> Target {
1414
let base = super::linux_base::opts();
1515
Target {
16-
data_layout: "e-p:32:32:32\
17-
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
18-
-f32:32:32-f64:64:64\
19-
-v64:64:64-v128:64:128\
20-
-a:0:64-n32".to_string(),
2116
llvm_target: "arm-unknown-linux-gnueabi".to_string(),
2217
target_endian: "little".to_string(),
2318
target_pointer_width: "32".to_string(),

src/librustc_back/target/arm_unknown_linux_gnueabihf.rs

-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ use target::{Target, TargetOptions};
1313
pub fn target() -> Target {
1414
let base = super::linux_base::opts();
1515
Target {
16-
data_layout: "e-p:32:32:32\
17-
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
18-
-f32:32:32-f64:64:64\
19-
-v64:64:64-v128:64:128\
20-
-a:0:64-n32".to_string(),
2116
llvm_target: "arm-unknown-linux-gnueabihf".to_string(),
2217
target_endian: "little".to_string(),
2318
target_pointer_width: "32".to_string(),

src/librustc_back/target/armv7_apple_ios.rs

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16-
data_layout: "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
1716
llvm_target: "armv7-apple-ios".to_string(),
1817
target_endian: "little".to_string(),
1918
target_pointer_width: "32".to_string(),

src/librustc_back/target/armv7s_apple_ios.rs

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16-
data_layout: "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
1716
llvm_target: "armv7s-apple-ios".to_string(),
1817
target_endian: "little".to_string(),
1918
target_pointer_width: "32".to_string(),

src/librustc_back/target/i386_apple_ios.rs

-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ use super::apple_ios_base::{opts, Arch};
1313

1414
pub fn target() -> Target {
1515
Target {
16-
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16\
17-
-i32:32:32-i64:32:64\
18-
-f32:32:32-f64:32:64-v64:64:64\
19-
-v128:128:128-a:0:64-f80:128:128\
20-
-n8:16:32".to_string(),
2116
llvm_target: "i386-apple-ios".to_string(),
2217
target_endian: "little".to_string(),
2318
target_pointer_width: "32".to_string(),

src/librustc_back/target/i686_apple_darwin.rs

-5
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,6 @@ pub fn target() -> Target {
1616
base.pre_link_args.push("-m32".to_string());
1717

1818
Target {
19-
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16\
20-
-i32:32:32-i64:32:64\
21-
-f32:32:32-f64:32:64-v64:64:64\
22-
-v128:128:128-a:0:64-f80:128:128\
23-
-n8:16:32".to_string(),
2419
llvm_target: "i686-apple-darwin".to_string(),
2520
target_endian: "little".to_string(),
2621
target_pointer_width: "32".to_string(),

src/librustc_back/target/i686_pc_windows_gnu.rs

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ pub fn target() -> Target {
2424
options.pre_link_args.push("-shared-libgcc".to_string());
2525

2626
Target {
27-
data_layout: "e-p:32:32-f64:64:64-i64:64:64-f80:32:32-n8:16:32".to_string(),
2827
llvm_target: "i686-pc-windows-gnu".to_string(),
2928
target_endian: "little".to_string(),
3029
target_pointer_width: "32".to_string(),

src/librustc_back/target/i686_pc_windows_msvc.rs

-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ pub fn target() -> Target {
1515
base.cpu = "i686".to_string();
1616

1717
Target {
18-
data_layout: "e-p:32:32-f64:64:64-i64:64:64-f80:32:32-n8:16:32".to_string(),
1918
llvm_target: "i686-pc-windows-msvc".to_string(),
2019
target_endian: "little".to_string(),
2120
target_pointer_width: "32".to_string(),

src/librustc_back/target/i686_unknown_dragonfly.rs

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ pub fn target() -> Target {
1616
base.pre_link_args.push("-m32".to_string());
1717

1818
Target {
19-
data_layout: "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32".to_string(),
2019
llvm_target: "i686-unknown-dragonfly".to_string(),
2120
target_endian: "little".to_string(),
2221
target_pointer_width: "32".to_string(),

src/librustc_back/target/i686_unknown_freebsd.rs

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ pub fn target() -> Target {
1717
base.morestack = false;
1818

1919
Target {
20-
data_layout: "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32".to_string(),
2120
llvm_target: "i686-unknown-freebsd".to_string(),
2221
target_endian: "little".to_string(),
2322
target_pointer_width: "32".to_string(),

src/librustc_back/target/i686_unknown_linux_gnu.rs

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ pub fn target() -> Target {
1616
base.pre_link_args.push("-m32".to_string());
1717

1818
Target {
19-
data_layout: "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32".to_string(),
2019
llvm_target: "i686-unknown-linux-gnu".to_string(),
2120
target_endian: "little".to_string(),
2221
target_pointer_width: "32".to_string(),

0 commit comments

Comments
 (0)