brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 7e29f59 Raw
39 lines · plain
1; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=amdgpu-promote-alloca < %s | FileCheck %s2 3; Do not promote an alloca with users of vector/aggregate type.4 5; CHECK-LABEL: @test_insertelement(6; CHECK:  %alloca = alloca i167; CHECK-NEXT:  insertelement <2 x ptr addrspace(5)> poison, ptr addrspace(5) %alloca, i32 08define amdgpu_kernel void @test_insertelement() #0 {9entry:10  %alloca = alloca i16, align 4, addrspace(5)11  %in = insertelement <2 x ptr addrspace(5)> poison, ptr addrspace(5) %alloca, i32 012  store <2 x ptr addrspace(5)> %in, ptr poison, align 413  ret void14}15 16; CHECK-LABEL: @test_insertvalue(17; CHECK:  %alloca = alloca i1618; CHECK-NEXT:  insertvalue { ptr addrspace(5) } poison, ptr addrspace(5) %alloca, 019define amdgpu_kernel void @test_insertvalue() #0 {20entry:21  %alloca = alloca i16, align 4, addrspace(5)22  %in = insertvalue { ptr addrspace(5) } poison, ptr addrspace(5) %alloca, 023  store { ptr addrspace(5) } %in, ptr poison, align 424  ret void25}26 27; CHECK-LABEL: @test_insertvalue_array(28; CHECK:  %alloca = alloca i1629; CHECK-NEXT:  insertvalue [2 x ptr addrspace(5)] poison, ptr addrspace(5) %alloca, 030define amdgpu_kernel void @test_insertvalue_array() #0 {31entry:32  %alloca = alloca i16, align 4, addrspace(5)33  %in = insertvalue [2 x ptr addrspace(5)] poison, ptr addrspace(5) %alloca, 034  store [2 x ptr addrspace(5)] %in, ptr poison, align 435  ret void36}37 38attributes #0 = { nounwind }39