xref: /llvm-project/llvm/test/CodeGen/AMDGPU/lds-no-realign-allocated-variables.ll (revision 1bde8e0b80860743fcd55da28f0ba9acb7a26a9c)
1*1bde8e0bSJon Chesterfield; RUN: opt -S -mtriple=amdgcn-- -passes=amdgpu-lower-module-lds < %s | FileCheck %s
2*1bde8e0bSJon Chesterfield
3*1bde8e0bSJon Chesterfield; Can't have a second variable without absolute_symbol showing it is realigned as
4*1bde8e0bSJon Chesterfield; there is a fatal error on mixing absolute and non-absolute symbols
5*1bde8e0bSJon Chesterfield
6*1bde8e0bSJon Chesterfield; CHECK: @lds.dont_realign = internal addrspace(3) global i64 poison, align 2, !absolute_symbol !0
7*1bde8e0bSJon Chesterfield@lds.dont_realign = internal addrspace(3) global i64 poison, align 2, !absolute_symbol !0
8*1bde8e0bSJon Chesterfield
9*1bde8e0bSJon Chesterfield; CHECK: void @use_variables
10*1bde8e0bSJon Chesterfielddefine amdgpu_kernel void @use_variables(i64 %val) {
11*1bde8e0bSJon Chesterfield  store i64 %val, ptr addrspace(3) @lds.dont_realign, align 2
12*1bde8e0bSJon Chesterfield  ret void
13*1bde8e0bSJon Chesterfield}
14*1bde8e0bSJon Chesterfield
15*1bde8e0bSJon Chesterfield!0 = !{i32 2, i32 3}
16