[AMDGPU] Update data layout string to use the new pointer spec about null pointer value (#194101)
This commit is contained in:
@@ -152,20 +152,20 @@
|
||||
|
||||
// RUN: %clang_cc1 -triple r600-unknown -o - -emit-llvm %s | \
|
||||
// RUN: FileCheck %s -check-prefix=R600
|
||||
// R600: target datalayout = "e-m:e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1"
|
||||
// R600: target datalayout = "e-m:e-p:32:32-po2:32:32-po3:32:32-po5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1"
|
||||
|
||||
// RUN: %clang_cc1 -triple r600-unknown -target-cpu cayman -o - -emit-llvm %s \
|
||||
// RUN: | FileCheck %s -check-prefix=R600D
|
||||
// R600D: target datalayout = "e-m:e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1"
|
||||
// R600D: target datalayout = "e-m:e-p:32:32-po2:32:32-po3:32:32-po5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1"
|
||||
|
||||
// RUN: %clang_cc1 -triple amdgcn-unknown -target-cpu hawaii -o - -emit-llvm %s \
|
||||
// RUN: | FileCheck %s -check-prefix=R600SI
|
||||
// R600SI: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
|
||||
// R600SI: target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
|
||||
|
||||
// Test default -target-cpu
|
||||
// RUN: %clang_cc1 -triple amdgcn-unknown -o - -emit-llvm %s \
|
||||
// RUN: | FileCheck %s -check-prefix=R600SIDefault
|
||||
// R600SIDefault: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
|
||||
// R600SIDefault: target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
|
||||
|
||||
// RUN: %clang_cc1 -triple arm64-unknown -o - -emit-llvm %s | \
|
||||
// RUN: FileCheck %s -check-prefix=AARCH64
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// RUN: %clang_cc1 %s -O0 -triple amdgcn -emit-llvm -o - | FileCheck %s
|
||||
// RUN: %clang_cc1 %s -O0 -triple amdgcn---opencl -emit-llvm -o - | FileCheck %s
|
||||
|
||||
// CHECK: target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
|
||||
// CHECK: target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9"
|
||||
void foo(void) {}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
;--- amdhsa.ll
|
||||
target triple = "amdgcn-amd-amdhsa"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
|
||||
!llvm.module.flags = !{!0}
|
||||
!0 = !{i32 1, !"amdhsa_code_object_version", i32 500}
|
||||
@@ -36,7 +36,7 @@ define void @_start() {
|
||||
|
||||
;--- amdpal.ll
|
||||
target triple = "amdgcn-amd-amdpal"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
|
||||
define amdgpu_cs void @_start() {
|
||||
ret void
|
||||
@@ -44,7 +44,7 @@ define amdgpu_cs void @_start() {
|
||||
|
||||
;--- mesa3d.ll
|
||||
target triple = "amdgcn-amd-mesa3d"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
|
||||
define void @_start() {
|
||||
ret void
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
; Make sure the amdgcn triple is handled
|
||||
|
||||
target triple = "amdgcn-amd-amdhsa"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
target datalayout = "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
|
||||
define void @_start() {
|
||||
ret void
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
; Make sure the r600 triple is handled
|
||||
|
||||
target triple = "r600-mesa-mesa3d"
|
||||
target datalayout = "e-m:e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
target datalayout = "e-m:e-p:32:32-po2:32:32-po3:32:32-po5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
|
||||
|
||||
define void @_start() {
|
||||
ret void
|
||||
|
||||
@@ -263,8 +263,9 @@ static std::string computePowerDataLayout(const Triple &T, StringRef ABIName) {
|
||||
static std::string computeAMDDataLayout(const Triple &TT) {
|
||||
if (TT.getArch() == Triple::r600) {
|
||||
// 32-bit pointers.
|
||||
return "e-m:e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128"
|
||||
"-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1";
|
||||
return "e-m:e-p:32:32-po2:32:32-po3:32:32-po5:32:32-i64:64"
|
||||
"-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512"
|
||||
"-v1024:1024-v2048:2048-n32:64-S32-A5-G1";
|
||||
}
|
||||
|
||||
// 32-bit private, local, and region pointers. 64-bit global, constant and
|
||||
@@ -273,10 +274,10 @@ static std::string computeAMDDataLayout(const Triple &TT) {
|
||||
// (address space 7), and 128-bit non-integral buffer resourcees (address
|
||||
// space 8) which cannot be non-trivilally accessed by LLVM memory operations
|
||||
// like getelementptr.
|
||||
return "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32"
|
||||
"-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-"
|
||||
"v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-"
|
||||
"v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9";
|
||||
return "e-m:e-p:64:64-p1:64:64-po2:32:32-po3:32:32-p4:64:64-po5:32:32"
|
||||
"-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32"
|
||||
"-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256"
|
||||
"-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9";
|
||||
}
|
||||
|
||||
static std::string computeRISCVDataLayout(const Triple &TT, StringRef ABIName) {
|
||||
|
||||
Reference in New Issue
Block a user