[llvm] [AMDGPU] Don't DEALLOC_VGPRS from callable functions (PR #72245)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 15 02:28:00 PST 2023
================
@@ -556,3 +558,27 @@ body: |
S_WAITCNT_VSCNT undef $sgpr_null, 0
S_ENDPGM 0
...
+
+---
+name: gfx_function
+body: |
+ bb.0:
+ ; CHECK-LABEL: name: gfx_function
+ ; CHECK-NOT: S_SENDMSG 3
+ ; CHECK: S_ENDPGM 0
+ GLOBAL_STORE_DWORD undef renamable $vgpr0_vgpr1, killed renamable $vgpr1, 0, 4, implicit $exec
+ S_WAITCNT_VSCNT undef $sgpr_null, 0
+ S_ENDPGM 0
+...
+
+---
+name: ccc_function
+body: |
+ bb.0:
+ ; CHECK-LABEL: name: ccc_function
+ ; CHECK-NOT: S_SENDMSG 3
+ ; CHECK: S_ENDPGM 0
+ GLOBAL_STORE_DWORD undef renamable $vgpr0_vgpr1, killed renamable $vgpr1, 0, 4, implicit $exec
+ S_WAITCNT_VSCNT undef $sgpr_null, 0
+ S_ENDPGM 0
+...
----------------
jayfoad wrote:
I don't think unreachable exists in MIR does it? I would expect to see an MBB ending with a tail call, and SIInsertWaitcnts certainly should not insert any waits _after_ the tail call.
https://github.com/llvm/llvm-project/pull/72245
More information about the llvm-commits
mailing list