Skip to content

Revert "[NFC][AMDGPU] Pre-commit clang and llvm tests for dynamic allocas" #120369

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
Dec 18, 2024

Conversation

easyonaadit
Copy link
Contributor

Reverts #120063 due to build-bot failures

@llvmbot
Copy link
Member

llvmbot commented Dec 18, 2024

@llvm/pr-subscribers-llvm-globalisel

@llvm/pr-subscribers-backend-amdgpu

Author: Aaditya (easyonaadit)

Changes

Reverts llvm/llvm-project#120063 due to build-bot failures


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

2 Files Affected:

  • (modified) llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll (+6-52)
  • (modified) llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll (+2-182)
diff --git a/llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll b/llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
index 833cc092a19ee9..5dae7885f6bfb1 100644
--- a/llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
+++ b/llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
@@ -4,68 +4,22 @@
 ; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_align4
 ; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_align4 void (ptr addrspace(1)): unsupported dynamic alloca
 
+; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: func_dynamic_stackalloc_vgpr_align4)
+; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align4
+; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align4 void (i32): unsupported dynamic alloca
+
 define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_align4(ptr addrspace(1) %ptr) {
   %id = call i32 @llvm.amdgcn.workitem.id.x()
   %gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
   %n = load i32, ptr addrspace(1) %gep
   %alloca = alloca i32, i32 %n, align 4, addrspace(5)
-  store volatile i32 123, ptr addrspace(5) %alloca
-  ret void
-}
-
-; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: kernel_dynamic_stackalloc_vgpr_default_align)
-; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_default_align
-; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_default_align void (ptr addrspace(1)): unsupported dynamic alloca
-
-define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_default_align(ptr addrspace(1) %ptr) {
-  %id = call i32 @llvm.amdgcn.workitem.id.x()
-  %gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
-  %n = load i32, ptr addrspace(1) %gep
-  %alloca = alloca i32, i32 %n, addrspace(5)
-  store volatile i32 %n, ptr addrspace(5) %alloca
-  ret void
-}
-
-; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 64 (in function: kernel_dynamic_stackalloc_vgpr_align64)
-; ERR-NEXT: warning: Instruction selection used fallback path for kernel_dynamic_stackalloc_vgpr_align64
-; ERR-NEXT: error: <unknown>:0:0: in function kernel_dynamic_stackalloc_vgpr_align64 void (ptr addrspace(1)): unsupported dynamic alloca
-
-define amdgpu_kernel void @kernel_dynamic_stackalloc_vgpr_align64(ptr addrspace(1) %ptr) {
-  %id = call i32 @llvm.amdgcn.workitem.id.x()
-  %gep = getelementptr i32, ptr addrspace(1) %ptr, i32 %id
-  %n = load i32, ptr addrspace(1) %gep
-  %alloca = alloca i32, i32 %n, align 64, addrspace(5)
-  store volatile i32 789, ptr addrspace(5) %alloca
+  store volatile ptr addrspace(5) %alloca, ptr addrspace(1) undef
   ret void
 }
 
-; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: func_dynamic_stackalloc_vgpr_align4)
-; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align4
-; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align4 void (i32): unsupported dynamic alloca
-
 define void @func_dynamic_stackalloc_vgpr_align4(i32 %n) {
   %alloca = alloca i32, i32 %n, align 4, addrspace(5)
-  store volatile i32 %n, ptr addrspace(5) %alloca
-  ret void
-}
-
-; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 1 (in function: func_dynamic_stackalloc_vgpr_default_align)
-; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_default_align
-; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_default_align void (i32): unsupported dynamic alloca
-
-define void @func_dynamic_stackalloc_vgpr_default_align(i32 %n) {
-  %alloca = alloca i32, i32 %n, addrspace(5)
-  store volatile i32 123, ptr addrspace(5) %alloca
-  ret void
-}
-
-; ERR: remark: <unknown>:0:0: cannot select: %{{[0-9]+}}:sreg_32(p5) = G_DYN_STACKALLOC %{{[0-9]+}}:vgpr(s32), 32 (in function: func_dynamic_stackalloc_vgpr_align32)
-; ERR-NEXT: warning: Instruction selection used fallback path for func_dynamic_stackalloc_vgpr_align32
-; ERR-NEXT: error: <unknown>:0:0: in function func_dynamic_stackalloc_vgpr_align32 void (i32): unsupported dynamic alloca
-
-define void @func_dynamic_stackalloc_vgpr_align32(i32 %n) {
-  %alloca = alloca i32, i32 %n, align 32, addrspace(5)
-  store volatile i32 %n, ptr addrspace(5) %alloca
+  store volatile ptr addrspace(5) %alloca, ptr addrspace(1) undef
   ret void
 }
 
diff --git a/llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll b/llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
index 73aa87e5c55d20..1c093bf31ea75f 100644
--- a/llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
+++ b/llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
@@ -5,188 +5,8 @@ target datalayout = "A5"
 
 ; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
 
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_uniform(i32 %n) {
+define amdgpu_kernel void @test_dynamic_stackalloc(ptr addrspace(1) %out, i32 %n) {
   %alloca = alloca i32, i32 %n, addrspace(5)
-  store volatile i32 123, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_uniform_over_aligned(i32 %n) {
-  %alloca = alloca i32, i32 %n, align 128, addrspace(5)
-  store volatile i32 10, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_uniform_under_aligned(i32 %n) {
-  %alloca = alloca i32, i32 %n, align 2, addrspace(5)
-  store volatile i32 22, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_divergent() {
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca = alloca float, i32 %idx, addrspace(5)
-  store volatile i32 123, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_divergent_over_aligned() {
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca = alloca i32, i32 %idx, align 128, addrspace(5)
-  store volatile i32 444, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_divergent_under_aligned() {
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca = alloca i128, i32 %idx, align 2, addrspace(5)
-  store volatile i32 666, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_multiple_allocas(i32 %n, i32 %m) {
-entry:
-  %cond = icmp eq i32 %n, 0
-  %alloca1 = alloca i32, i32 8, addrspace(5)
-  %alloca2 = alloca i17, i32 %n, addrspace(5)
-  br i1 %cond, label %bb.0, label %bb.1
-bb.0:
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca3 = alloca i32, i32 %m, align 64, addrspace(5)
-  %alloca4 = alloca i32, i32 %idx, align 4, addrspace(5)
-  store volatile i32 3, ptr addrspace(5) %alloca3
-  store volatile i32 4, ptr addrspace(5) %alloca4
-  br label %bb.1
-bb.1:
-  store volatile i32 1, ptr addrspace(5) %alloca1
-  store volatile i32 2, ptr addrspace(5) %alloca2
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define amdgpu_kernel void @test_dynamic_stackalloc_kernel_control_flow(i32 %n, i32 %m) {
-entry:
-  %cond = icmp eq i32 %n, 0
-  br i1 %cond, label %bb.0, label %bb.1
-bb.0:
-  %alloca2 = alloca i32, i32 %m, align 64, addrspace(5)
-  store volatile i32 2, ptr addrspace(5) %alloca2
-  br label %bb.2
-bb.1:
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca1 = alloca i32, i32 %idx, align 4, addrspace(5)
-  store volatile i32 1, ptr addrspace(5) %alloca1
-  br label %bb.2
-bb.2:
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_uniform(i32 %n) {
-  %alloca = alloca i32, i32 %n, addrspace(5)
-  store volatile i32 123, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_uniform_over_aligned(i32 %n) {
-  %alloca = alloca i32, i32 %n, align 128, addrspace(5)
-  store volatile i32 10, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_uniform_under_aligned(i32 %n) {
-  %alloca = alloca i32, i32 %n, align 2, addrspace(5)
-  store volatile i32 22, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_divergent() {
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca = alloca i32, i32 %idx, addrspace(5)
-  store volatile i32 123, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_divergent_over_aligned() {
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca = alloca i32, i32 %idx, align 128, addrspace(5)
-  store volatile i32 444, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_divergent_under_aligned() {
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca = alloca i32, i32 %idx, align 2, addrspace(5)
-  store volatile i32 666, ptr addrspace(5) %alloca
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_multiple_allocas(i32 %n, i32 %m) {
-entry:
-  %cond = icmp eq i32 %n, 0
-  %alloca1 = alloca i32, i32 8, addrspace(5)
-  %alloca2 = alloca i32, i32 %n, addrspace(5)
-  br i1 %cond, label %bb.0, label %bb.1
-bb.0:
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca3 = alloca i32, i32 %m, align 64, addrspace(5)
-  %alloca4 = alloca i32, i32 %idx, align 4, addrspace(5)
-  store volatile i32 3, ptr addrspace(5) %alloca3
-  store volatile i32 4, ptr addrspace(5) %alloca4
-  br label %bb.1
-bb.1:
-  store volatile i32 1, ptr addrspace(5) %alloca1
-  store volatile i32 2, ptr addrspace(5) %alloca2
-  ret void
-}
-
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-; CHECK: in function test_dynamic_stackalloc{{.*}}: unsupported dynamic alloca
-
-define void @test_dynamic_stackalloc_device_control_flow(i32 %n, i32 %m) {
-entry:
-  %cond = icmp eq i32 %n, 0
-  br i1 %cond, label %bb.0, label %bb.1
-bb.0:
-  %idx = call i32 @llvm.amdgcn.workitem.id.x()
-  %alloca1 = alloca i32, i32 %idx, align 4, addrspace(5)
-  store volatile i32 1, ptr addrspace(5) %alloca1
-  br label %bb.2
-bb.1:
-  %alloca2 = alloca i32, i32 %m, align 64, addrspace(5)
-  store volatile i32 2, ptr addrspace(5) %alloca2
-  br label %bb.2
-bb.2:
+  store volatile i32 0, ptr addrspace(5) %alloca
   ret void
 }

Copy link

⚠️ We detected that you are using a GitHub private e-mail address to contribute to the repo.
Please turn off Keep my email addresses private setting in your account.
See LLVM Discourse for more information.

@easyonaadit
Copy link
Contributor Author

@arsenm @pravinjagtap
#120063 had some build-bot failures, can you merge this revert?

@arsenm arsenm merged commit d6e8ab1 into llvm:main Dec 18, 2024
8 of 9 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Dec 18, 2024

LLVM Buildbot has detected a new failure on builder llvm-clang-aarch64-darwin running on doug-worker-5 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/190/builds/11584

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'Clang-Unit :: DirectoryWatcher/./DirectoryWatcherTests/5/8' FAILED ********************
Script(shard):
--
GTEST_OUTPUT=json:/Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/unittests/DirectoryWatcher/./DirectoryWatcherTests-Clang-Unit-27643-5-8.json GTEST_SHUFFLE=0 GTEST_TOTAL_SHARDS=8 GTEST_SHARD_INDEX=5 /Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/unittests/DirectoryWatcher/./DirectoryWatcherTests
--

Script:
--
/Users/buildbot/buildbot-root/aarch64-darwin/build/tools/clang/unittests/DirectoryWatcher/./DirectoryWatcherTests --gtest_filter=DirectoryWatcherTest.DeleteWatchedDir
--
/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp:259: Failure
Value of: WaitForExpectedStateResult.wait_for(EventualResultTimeout) == std::future_status::ready
  Actual: false
Expected: true
The expected result state wasn't reached before the time-out.

/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp:262: Failure
Value of: TestConsumer.result().has_value()
  Actual: false
Expected: true


/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp:259
Value of: WaitForExpectedStateResult.wait_for(EventualResultTimeout) == std::future_status::ready
  Actual: false
Expected: true
The expected result state wasn't reached before the time-out.

/Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp:262
Value of: TestConsumer.result().has_value()
  Actual: false
Expected: true



********************


searlmc1 pushed a commit to ROCm/llvm-project that referenced this pull request Mar 24, 2025
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.

4 participants