40 lines · plain
1; RUN: llc -global-isel=0 -mtriple=amdgcn-amd-amdhsa < %s | FileCheck -check-prefix=ALL -check-prefix=HSA %s2; RUN: llc -global-isel=1 -new-reg-bank-select -mtriple=amdgcn-amd-amdhsa < %s | FileCheck -check-prefix=ALL -check-prefix=HSA %s3; RUN: llc -mtriple=r600 -mcpu=redwood < %s | FileCheck -check-prefix=ALL -check-prefix=EG %s4 5; This test makes sure we do not double count global values when they are6; used in different basic blocks.7 8; GCN: .long 471809; GCN-NEXT: .long 3290010 11; EG: .long 16612012; EG-NEXT: .long 113; ALL: {{^}}test:14 15; HSA-NOT: COMPUTE_PGM_RSRC2.LDS_SIZE16; HSA: .amdhsa_group_segment_fixed_size 417 18; GCN: ; LDSByteSize: 4 bytes/workgroup (compile time only)19@lds = internal unnamed_addr addrspace(3) global i32 poison, align 420 21define amdgpu_kernel void @test(ptr addrspace(1) %out, i32 %cond) {22entry:23 %0 = icmp eq i32 %cond, 024 br i1 %0, label %if, label %else25 26if:27 store i32 1, ptr addrspace(3) @lds28 br label %endif29 30else:31 store i32 2, ptr addrspace(3) @lds32 br label %endif33 34endif:35 ret void36}37 38!llvm.module.flags = !{!0}39!0 = !{i32 1, !"amdhsa_code_object_version", i32 400}40