Skip to content

Commit

Permalink
trans: Clean up handling the LLVM data layout
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
alexcrichton committed Jul 17, 2015
1 parent 74e1981 commit 958d563
Show file tree
Hide file tree
Showing 45 changed files with 95 additions and 541 deletions.
6 changes: 0 additions & 6 deletions src/librustc/lib.rs
Expand Up @@ -99,14 +99,8 @@ pub mod diagnostics;

pub mod back {
pub use rustc_back::abi;
pub use rustc_back::arm;
pub use rustc_back::mips;
pub use rustc_back::mipsel;
pub use rustc_back::rpath;
pub use rustc_back::svh;
pub use rustc_back::target_strs;
pub use rustc_back::x86;
pub use rustc_back::x86_64;
}

pub mod ast_map;
Expand Down
77 changes: 0 additions & 77 deletions src/librustc_back/arm.rs

This file was deleted.

6 changes: 0 additions & 6 deletions src/librustc_back/lib.rs
Expand Up @@ -52,13 +52,7 @@ extern crate rustc_llvm;

pub mod abi;
pub mod tempdir;
pub mod arm;
pub mod mips;
pub mod mipsel;
pub mod rpath;
pub mod sha2;
pub mod svh;
pub mod target_strs;
pub mod x86;
pub mod x86_64;
pub mod target;
72 changes: 0 additions & 72 deletions src/librustc_back/mips.rs

This file was deleted.

72 changes: 0 additions & 72 deletions src/librustc_back/mipsel.rs

This file was deleted.

4 changes: 0 additions & 4 deletions src/librustc_back/target/aarch64_apple_ios.rs
Expand Up @@ -13,10 +13,6 @@ use super::apple_ios_base::{opts, Arch};

pub fn target() -> Target {
Target {
// reference layout: e-m:o-i64:64-i128:128-n32:64-S128
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
i128:128-f32:32:32-f64:64:64-v64:64:64-v128:128:128-\
a:0:64-n32:64-S128".to_string(),
llvm_target: "arm64-apple-ios".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "64".to_string(),
Expand Down
3 changes: 0 additions & 3 deletions src/librustc_back/target/aarch64_linux_android.rs
Expand Up @@ -12,9 +12,6 @@ use target::Target;

pub fn target() -> Target {
Target {
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-\
n32:64-S128".to_string(),
llvm_target: "aarch64-linux-android".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "64".to_string(),
Expand Down
3 changes: 0 additions & 3 deletions src/librustc_back/target/aarch64_unknown_linux_gnu.rs
Expand Up @@ -13,9 +13,6 @@ use target::Target;
pub fn target() -> Target {
let base = super::linux_base::opts();
Target {
data_layout: "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
f32:32:32-f64:64:64-v64:64:64-v128:128:128-a:0:64-\
n32:64-S128".to_string(),
llvm_target: "aarch64-unknown-linux-gnu".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "64".to_string(),
Expand Down
3 changes: 0 additions & 3 deletions src/librustc_back/target/arm_linux_androideabi.rs
Expand Up @@ -15,9 +15,6 @@ pub fn target() -> Target {
base.features = "+v7".to_string();

Target {
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-\
f32:32:32-f64:64:64-v64:64:64-v128:64:128-a:0:64-\
n32".to_string(),
llvm_target: "arm-linux-androideabi".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
5 changes: 0 additions & 5 deletions src/librustc_back/target/arm_unknown_linux_gnueabi.rs
Expand Up @@ -13,11 +13,6 @@ use target::{Target, TargetOptions};
pub fn target() -> Target {
let base = super::linux_base::opts();
Target {
data_layout: "e-p:32:32:32\
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
-f32:32:32-f64:64:64\
-v64:64:64-v128:64:128\
-a:0:64-n32".to_string(),
llvm_target: "arm-unknown-linux-gnueabi".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
5 changes: 0 additions & 5 deletions src/librustc_back/target/arm_unknown_linux_gnueabihf.rs
Expand Up @@ -13,11 +13,6 @@ use target::{Target, TargetOptions};
pub fn target() -> Target {
let base = super::linux_base::opts();
Target {
data_layout: "e-p:32:32:32\
-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
-f32:32:32-f64:64:64\
-v64:64:64-v128:64:128\
-a:0:64-n32".to_string(),
llvm_target: "arm-unknown-linux-gnueabihf".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/armv7_apple_ios.rs
Expand Up @@ -13,7 +13,6 @@ use super::apple_ios_base::{opts, Arch};

pub fn target() -> Target {
Target {
data_layout: "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
llvm_target: "armv7-apple-ios".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/armv7s_apple_ios.rs
Expand Up @@ -13,7 +13,6 @@ use super::apple_ios_base::{opts, Arch};

pub fn target() -> Target {
Target {
data_layout: "e-p:32:32-f64:32:64-v64:32:64-v128:32:128-a:0:32-n32-S32".to_string(),
llvm_target: "armv7s-apple-ios".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
5 changes: 0 additions & 5 deletions src/librustc_back/target/i386_apple_ios.rs
Expand Up @@ -13,11 +13,6 @@ use super::apple_ios_base::{opts, Arch};

pub fn target() -> Target {
Target {
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16\
-i32:32:32-i64:32:64\
-f32:32:32-f64:32:64-v64:64:64\
-v128:128:128-a:0:64-f80:128:128\
-n8:16:32".to_string(),
llvm_target: "i386-apple-ios".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
5 changes: 0 additions & 5 deletions src/librustc_back/target/i686_apple_darwin.rs
Expand Up @@ -16,11 +16,6 @@ pub fn target() -> Target {
base.pre_link_args.push("-m32".to_string());

Target {
data_layout: "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16\
-i32:32:32-i64:32:64\
-f32:32:32-f64:32:64-v64:64:64\
-v128:128:128-a:0:64-f80:128:128\
-n8:16:32".to_string(),
llvm_target: "i686-apple-darwin".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/i686_pc_windows_gnu.rs
Expand Up @@ -24,7 +24,6 @@ pub fn target() -> Target {
options.pre_link_args.push("-shared-libgcc".to_string());

Target {
data_layout: "e-p:32:32-f64:64:64-i64:64:64-f80:32:32-n8:16:32".to_string(),
llvm_target: "i686-pc-windows-gnu".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/i686_pc_windows_msvc.rs
Expand Up @@ -15,7 +15,6 @@ pub fn target() -> Target {
base.cpu = "i686".to_string();

Target {
data_layout: "e-p:32:32-f64:64:64-i64:64:64-f80:32:32-n8:16:32".to_string(),
llvm_target: "i686-pc-windows-msvc".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/i686_unknown_dragonfly.rs
Expand Up @@ -16,7 +16,6 @@ pub fn target() -> Target {
base.pre_link_args.push("-m32".to_string());

Target {
data_layout: "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32".to_string(),
llvm_target: "i686-unknown-dragonfly".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/i686_unknown_freebsd.rs
Expand Up @@ -17,7 +17,6 @@ pub fn target() -> Target {
base.morestack = false;

Target {
data_layout: "e-p:32:32-f64:32:64-i64:32:64-f80:32:32-n8:16:32".to_string(),
llvm_target: "i686-unknown-freebsd".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
Expand Down
1 change: 0 additions & 1 deletion src/librustc_back/target/i686_unknown_linux_gnu.rs
Expand Up @@ -16,7 +16,6 @@ pub fn target() -> Target {
base.pre_link_args.push("-m32".to_string());

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

0 comments on commit 958d563

Please sign in to comment.