Skip to content

[AMDGPU][LDS] Pre-Commit tests for 'Fix dynamic LDS interaction with "amdgpu-no-lds-kernel-id" #107091

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 4, 2024

Conversation

jmmartinez
Copy link
Contributor

No description provided.

@llvmbot
Copy link
Member

llvmbot commented Sep 3, 2024

@llvm/pr-subscribers-backend-amdgpu

Author: Juan Manuel Martinez Caamaño (jmmartinez)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/107091.diff

1 Files Affected:

  • (modified) llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll (+17-5)
diff --git a/llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll b/llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
index da1d23f1496cf3..ac3812e93515be 100644
--- a/llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
+++ b/llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
@@ -1,4 +1,4 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals --version 3
 ; RUN: opt -S -mtriple=amdgcn-- -passes=amdgpu-lower-module-lds < %s | FileCheck %s
 
 ; This is an extension and should be rejected by the front-end in most cases.
@@ -6,9 +6,13 @@
 
 @Var0 = linkonce_odr hidden local_unnamed_addr addrspace(3) global [0 x float] poison
 
-define void @fn(float %val, i32 %idx) {
+;.
+; CHECK: @llvm.amdgcn.kernelA.dynlds = external addrspace(3) global [0 x i8], align 4, !absolute_symbol [[META0:![0-9]+]]
+; CHECK: @llvm.amdgcn.dynlds.offset.table = internal addrspace(4) constant [1 x i32] [i32 ptrtoint (ptr addrspace(3) @llvm.amdgcn.kernelA.dynlds to i32)]
+;.
+define void @fn(float %val, i32 %idx) #0 {
 ; CHECK-LABEL: define void @fn(
-; CHECK-SAME: float [[VAL:%.*]], i32 [[IDX:%.*]]) {
+; CHECK-SAME: float [[VAL:%.*]], i32 [[IDX:%.*]]) #[[ATTR0:[0-9]+]] {
 ; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.amdgcn.lds.kernel.id()
 ; CHECK-NEXT:    [[VAR0:%.*]] = getelementptr inbounds [1 x i32], ptr addrspace(4) @llvm.amdgcn.dynlds.offset.table, i32 0, i32 [[TMP1]]
 ; CHECK-NEXT:    [[TMP2:%.*]] = load i32, ptr addrspace(4) [[VAR0]], align 4
@@ -22,9 +26,9 @@ define void @fn(float %val, i32 %idx) {
   ret void
 }
 
-define amdgpu_kernel void @kernelA(float %val, i32 %idx) {
+define amdgpu_kernel void @kernelA(float %val, i32 %idx) #0 {
 ; CHECK-LABEL: define amdgpu_kernel void @kernelA(
-; CHECK-SAME: float [[VAL:%.*]], i32 [[IDX:%.*]]) !llvm.amdgcn.lds.kernel.id [[META1:![0-9]+]] {
+; CHECK-SAME: float [[VAL:%.*]], i32 [[IDX:%.*]]) #[[ATTR0]] !llvm.amdgcn.lds.kernel.id [[META1:![0-9]+]] {
 ; CHECK-NEXT:    call void @llvm.donothing() [ "ExplicitUse"(ptr addrspace(3) @llvm.amdgcn.kernelA.dynlds) ]
 ; CHECK-NEXT:    tail call void @fn(float [[VAL]], i32 [[IDX]])
 ; CHECK-NEXT:    ret void
@@ -32,6 +36,14 @@ define amdgpu_kernel void @kernelA(float %val, i32 %idx) {
   tail call void @fn(float %val, i32 %idx)
   ret void
 }
+
+attributes #0 = { "amdgpu-no-lds-kernel-id" }
+
+;.
+; CHECK: attributes #[[ATTR0]] = { "amdgpu-no-lds-kernel-id" }
+; CHECK: attributes #[[ATTR1:[0-9]+]] = { nocallback nofree nosync nounwind willreturn memory(none) }
+; CHECK: attributes #[[ATTR2:[0-9]+]] = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
 ;.
+; CHECK: [[META0]] = !{i32 0, i32 1}
 ; CHECK: [[META1]] = !{i32 0}
 ;.

@jmmartinez jmmartinez merged commit 43b8ae3 into llvm:main Sep 4, 2024
8 checks passed
searlmc1 pushed a commit to ROCm/llvm-project that referenced this pull request Nov 22, 2024
…"amdgpu-no-lds-kernel-id" (llvm#107091)

Change-Id: Id3abaa58f8b47bdd2dfe8b119db4bba35ac9b3bd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants