brintos

brintos / llvm-project-archived public Read only

0
0
Text · 989 B · 4c04e6d Raw
21 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -passes=infer-address-spaces %s | FileCheck %s3 4define i32 @lifetime_flat_pointer() {5; CHECK-LABEL: define i32 @lifetime_flat_pointer() {6; CHECK-NEXT:    [[ALLOCA:%.*]] = alloca i32, align 4, addrspace(5)7; CHECK-NEXT:    call void @llvm.lifetime.start.p5(ptr addrspace(5) [[ALLOCA]])8; CHECK-NEXT:    store i32 1, ptr addrspace(5) [[ALLOCA]], align 49; CHECK-NEXT:    [[RET:%.*]] = load i32, ptr addrspace(5) [[ALLOCA]], align 410; CHECK-NEXT:    call void @llvm.lifetime.end.p5(ptr addrspace(5) [[ALLOCA]])11; CHECK-NEXT:    ret i32 [[RET]]12;13  %alloca = alloca i32, align 4, addrspace(5)14  %flat = addrspacecast ptr addrspace(5) %alloca to ptr15  call void @llvm.lifetime.start(ptr addrspace(5) %alloca)16  store i32 1, ptr %flat, align 417  %ret = load i32, ptr %flat, align 418  call void @llvm.lifetime.end(ptr addrspace(5) %alloca)19  ret i32 %ret20}21