[llvm] 708663c - Precommit test for PR #171012 (#171013)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 8 12:46:51 PST 2026


Author: Anshil Gandhi
Date: 2026-01-08T15:46:47-05:00
New Revision: 708663c8e6892891d401f8477e6d68759d1a792d

URL: https://github.com/llvm/llvm-project/commit/708663c8e6892891d401f8477e6d68759d1a792d
DIFF: https://github.com/llvm/llvm-project/commit/708663c8e6892891d401f8477e6d68759d1a792d.diff

LOG: Precommit test for PR #171012 (#171013)

This patch precommits a test where base offsets are negative. PR
[171012](https://github.com/llvm/llvm-project/pull/171012 ) will
eliminate negative offsets by sorting the scratch instructions.

Added: 
    llvm/test/CodeGen/AMDGPU/local-stack-alloc-sort-framerefs.mir

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AMDGPU/local-stack-alloc-sort-framerefs.mir b/llvm/test/CodeGen/AMDGPU/local-stack-alloc-sort-framerefs.mir
new file mode 100644
index 0000000000000..1364ad5248240
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/local-stack-alloc-sort-framerefs.mir
@@ -0,0 +1,27 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6
+# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx950 -run-pass=localstackalloc -o - %s | FileCheck %s
+
+---
+name:            issue155902
+stack:
+  - { id: 0, offset: 0, size: 16384, alignment: 4 }
+  - { id: 1, offset: 0, size: 16, alignment: 8 }
+  - { id: 2, offset: 0, size: 8, alignment: 8 }
+body:             |
+  bb.0:
+
+    ; CHECK-LABEL: name: issue155902
+    ; CHECK: [[S_MOV_B32_:%[0-9]+]]:sreg_32_xexec_hi = S_MOV_B32 %stack.1
+    ; CHECK-NEXT: [[V_MOV_B:%[0-9]+]]:vreg_64_align2 = V_MOV_B64_PSEUDO 0, implicit $exec
+    ; CHECK-NEXT: SCRATCH_STORE_DWORDX2_SADDR [[V_MOV_B]], %stack.1, 8, 0, implicit $exec, implicit $flat_scr
+    ; CHECK-NEXT: SCRATCH_STORE_DWORDX2_SADDR [[V_MOV_B]], [[S_MOV_B32_]], 0, 0, implicit $exec, implicit $flat_scr
+    ; CHECK-NEXT: [[V_MOV_B1:%[0-9]+]]:vreg_64_align2 = V_MOV_B64_PSEUDO 900, implicit $exec
+    ; CHECK-NEXT: SCRATCH_STORE_DWORDX2_SADDR killed [[V_MOV_B1]], [[S_MOV_B32_]], 16, 0, implicit $exec, implicit $flat_scr
+    ; CHECK-NEXT: S_ENDPGM 0
+    %0:vreg_64_align2 = V_MOV_B64_PSEUDO 0, implicit $exec
+    SCRATCH_STORE_DWORDX2_SADDR %0, %stack.1, 8, 0, implicit $exec, implicit $flat_scr
+    SCRATCH_STORE_DWORDX2_SADDR %0, %stack.1, 0, 0, implicit $exec, implicit $flat_scr
+    %1:vreg_64_align2 = V_MOV_B64_PSEUDO 900, implicit $exec
+    SCRATCH_STORE_DWORDX2_SADDR killed %1, %stack.2, 0, 0, implicit $exec, implicit $flat_scr
+    S_ENDPGM 0
+...


        


More information about the llvm-commits mailing list