Files
llvm-project/llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-unsupported-errors.ll
Arseniy Obolenskiy 2133002b8f [AMDGPU] Poison invalid globals after emitting error in LowerBufferFatPointers pass (#184662)
After the change from `report_fatal_error` to `Ctx.emitError` in #142014
there is a necessity to remove unsupported globals. Otherwise there is a
secondary crash during ISel when processing them

Fixes SWDEV-511241
2026-03-10 15:35:27 +01:00

35 lines
2.1 KiB
LLVM

; RUN: split-file %s %t
; RUN: not opt -mtriple=amdgcn-amd-amdhsa -disable-output -passes=amdgpu-lower-buffer-fat-pointers %t/contains-null-init.ll 2>&1 | FileCheck -check-prefix=ERR0 %s
; RUN: not opt -mtriple=amdgcn-amd-amdhsa -disable-output -passes=amdgpu-lower-buffer-fat-pointers %t/contains-poison-init.ll 2>&1 | FileCheck -check-prefix=ERR1 %s
; RUN: not opt -mtriple=amdgcn-amd-amdhsa -disable-output -passes=amdgpu-lower-buffer-fat-pointers %t/defined-gv-type.ll 2>&1 | FileCheck -check-prefix=ERR2 %s
; RUN: not opt -mtriple=amdgcn-amd-amdhsa -disable-output -passes=amdgpu-lower-buffer-fat-pointers %t/declared-gv-type.ll 2>&1 | FileCheck -check-prefix=ERR3 %s
; RUN: not opt -mtriple=amdgcn-amd-amdhsa -disable-output -passes=amdgpu-lower-buffer-fat-pointers %t/used-global-with-p7.ll 2>&1 | FileCheck -check-prefix=ERR4 %s
;--- contains-null-init.ll
; ERR0: error: global variables that contain buffer fat pointers (address space 7 pointers) are unsupported. Use buffer resource pointers (address space 8) instead
@init_null = global ptr addrspace(7) null
;--- contains-poison-init.ll
; ERR1: error: global variables that contain buffer fat pointers (address space 7 pointers) are unsupported. Use buffer resource pointers (address space 8) instead
@init_poison = global ptr addrspace(7) poison
;--- defined-gv-type.ll
; ERR2: error: global variables with a buffer fat pointer address space (7) are not supported
@gv_is_addrspace_7 = addrspace(7) global i32 0
;--- declared-gv-type.ll
; ERR3: error: global variables with a buffer fat pointer address space (7) are not supported
@extern_gv_is_addrspace_7 = external addrspace(7) global i32
;--- used-global-with-p7.ll
; ERR4: error: global variables that contain buffer fat pointers (address space 7 pointers) are unsupported. Use buffer resource pointers (address space 8) instead
; ERR4-NOT: LLVM ERROR
@G = global ptr addrspace(7) poison
define amdgpu_kernel void @use_global(ptr addrspace(7) %in) {
%ptr = load ptr addrspace(7), ptr @G, align 8
%v = load i32, ptr addrspace(7) %ptr, align 4
store i32 %v, ptr addrspace(7) %in, align 4
ret void
}