brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 4e94595 Raw
113 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -mtriple=amdgcn-amd-amdhsa -S -amdgpu-aa-wrapper -amdgpu-aa -instcombine -o - %s | FileCheck %s3;4; Test AA::pointsToConstantMemory implementation. These should mostly5; turn out to be stores to constant memory, and will therefore be6; deleted as UB.7 8define void @test_constant_addrspace(ptr addrspace(4) %p) {9; CHECK-LABEL: @test_constant_addrspace(10; CHECK-NEXT:    ret void11;12  store i8 0, ptr addrspace(4) %p13  ret void14}15 16define void @test_constant32bit_addrspace(ptr addrspace(6) %p) {17; CHECK-LABEL: @test_constant32bit_addrspace(18; CHECK-NEXT:    ret void19;20  store i8 0, ptr addrspace(6) %p21  ret void22}23 24define void @test_cast_generic_from_constant_addrspace(ptr addrspace(4) %p) {25; CHECK-LABEL: @test_cast_generic_from_constant_addrspace(26; CHECK-NEXT:    ret void27;28  %cast = addrspacecast ptr addrspace(4) %p to ptr29  store i8 0, ptr %cast30  ret void31}32 33define void @test_cast_generic_from_constant32bit_addrspace(ptr addrspace(6) %p) {34; CHECK-LABEL: @test_cast_generic_from_constant32bit_addrspace(35; CHECK-NEXT:    ret void36;37  %cast = addrspacecast ptr addrspace(6) %p to ptr38  store i8 0, ptr %cast39  ret void40}41 42define void @test_cast_generic_to_constant_addrspace(ptr %p) {43; CHECK-LABEL: @test_cast_generic_to_constant_addrspace(44; CHECK-NEXT:    ret void45;46  %cast = addrspacecast ptr %p to ptr addrspace(4)47  store i8 0, ptr addrspace(4) %cast48  ret void49}50 51define void @test_cast_generic_to_constant32bit_addrspace(ptr %p) {52; CHECK-LABEL: @test_cast_generic_to_constant32bit_addrspace(53; CHECK-NEXT:    ret void54;55  %cast = addrspacecast ptr %p to ptr addrspace(6)56  store i8 0, ptr addrspace(6) %cast57  ret void58}59 60define amdgpu_kernel void @noalias_readnone_global_kernarg(ptr addrspace(1) noalias readnone %arg) {61; CHECK-LABEL: @noalias_readnone_global_kernarg(62; CHECK-NEXT:    ret void63;64  store i32 0, ptr addrspace(1) %arg65  ret void66}67 68define amdgpu_kernel void @noalias_readonly_global_kernarg(ptr addrspace(1) noalias readonly %arg) {69; CHECK-LABEL: @noalias_readonly_global_kernarg(70; CHECK-NEXT:    ret void71;72  store i32 0, ptr addrspace(1) %arg73  ret void74}75 76define amdgpu_kernel void @readnone_global_kernarg(ptr addrspace(1) readnone %arg) {77; CHECK-LABEL: @readnone_global_kernarg(78; CHECK-NEXT:    store i32 0, ptr addrspace(1) [[ARG:%.*]], align 479; CHECK-NEXT:    ret void80;81  store i32 0, ptr addrspace(1) %arg82  ret void83}84 85define amdgpu_kernel void @readonly_global_kernarg(ptr addrspace(1) readonly %arg) {86; CHECK-LABEL: @readonly_global_kernarg(87; CHECK-NEXT:    store i32 0, ptr addrspace(1) [[ARG:%.*]], align 488; CHECK-NEXT:    ret void89;90  store i32 0, ptr addrspace(1) %arg91  ret void92}93 94@global_as_constant = external addrspace(1) constant i32, align 495 96define amdgpu_kernel void @constant_gv_global_as() {97; CHECK-LABEL: @constant_gv_global_as(98; CHECK-NEXT:    ret void99;100  store i32 0, ptr addrspace(1) @global_as_constant101  ret void102}103 104@global_nonconstant_constant_as = external addrspace(4) global i32, align 4105 106define amdgpu_kernel void @nonconst_gv_constant_as() {107; CHECK-LABEL: @nonconst_gv_constant_as(108; CHECK-NEXT:    ret void109;110  store i32 0, ptr addrspace(4) @global_nonconstant_constant_as111  ret void112}113