From: Chad Rosier Date: Thu, 7 Jul 2016 20:02:25 +0000 (+0000) Subject: [AArch64] Change the preferred alignment for char and short. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad8c25b7151e7c1ba7d2fac5bb430d25ce718b84;p=clang [AArch64] Change the preferred alignment for char and short. This reinstates commits r273280 and r273289. Original Review: http://reviews.llvm.org/D21414. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274791 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index a8158a2a30..80b44fc635 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -5994,7 +5994,7 @@ class AArch64leTargetInfo : public AArch64TargetInfo { if (getTriple().isOSBinFormatMachO()) resetDataLayout("e-m:o-i64:64-i128:128-n32:64-S128"); else - resetDataLayout("e-m:e-i64:64-i128:128-n32:64-S128"); + resetDataLayout("e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"); } public: @@ -6012,7 +6012,7 @@ public: class AArch64beTargetInfo : public AArch64TargetInfo { void setDataLayout() override { assert(!getTriple().isOSBinFormatMachO()); - resetDataLayout("E-m:e-i64:64-i128:128-n32:64-S128"); + resetDataLayout("E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"); } public: diff --git a/test/CodeGen/aarch64-type-sizes.c b/test/CodeGen/aarch64-type-sizes.c index 3ff8c4f0d4..ce8b51fc40 100644 --- a/test/CodeGen/aarch64-type-sizes.c +++ b/test/CodeGen/aarch64-type-sizes.c @@ -1,8 +1,7 @@ -// RUN: %clang_cc1 -triple aarch64_be-none-linux-gnu -emit-llvm -w -o - %s | FileCheck --check-prefix=CHECK --check-prefix=CHECK-BE %s +// RUN: %clang_cc1 -triple aarch64_be-none-linux-gnu -emit-llvm -w -o - %s | FileCheck --check-prefix=CHECK %s // char by definition has size 1 -// CHECK-LE: target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" -// CHECK-BE: target datalayout = "E-m:e-i64:64-i128:128-n32:64-S128" +// CHECK: target datalayout = "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" int check_short() { return sizeof(short); @@ -89,4 +88,3 @@ int foo() { return sizeof(enum Small); // CHECK: ret i32 4 } - diff --git a/test/CodeGen/target-data.c b/test/CodeGen/target-data.c index b6b64b48db..49406a30e5 100644 --- a/test/CodeGen/target-data.c +++ b/test/CodeGen/target-data.c @@ -141,7 +141,7 @@ // RUN: %clang_cc1 -triple arm64-unknown -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=AARCH64 -// AARCH64: target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" +// AARCH64: target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" // RUN: %clang_cc1 -triple thumb-unknown-gnueabi -o - -emit-llvm %s | \ // RUN: FileCheck %s -check-prefix=THUMB