brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 1a21416 Raw
27 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S -passes=infer-address-spaces %s | FileCheck %s3 4target triple = "nvptx64-nvidia-cuda"5 6define i32 @lifetime_flat_pointer() {7; CHECK-LABEL: define i32 @lifetime_flat_pointer() {8; CHECK-NEXT:    [[ALLOCA:%.*]] = alloca i32, align 49; CHECK-NEXT:    [[TMP1:%.*]] = addrspacecast ptr [[ALLOCA]] to ptr addrspace(5)10; CHECK-NEXT:    call void @llvm.lifetime.start.p0(ptr [[ALLOCA]])11; CHECK-NEXT:    store i32 1, ptr addrspace(5) [[TMP1]], align 412; CHECK-NEXT:    [[RET:%.*]] = load i32, ptr addrspace(5) [[TMP1]], align 413; CHECK-NEXT:    call void @llvm.lifetime.end.p0(ptr [[ALLOCA]])14; CHECK-NEXT:    ret i32 [[RET]]15;16  %alloca = alloca i32, align 417  %1 = addrspacecast ptr %alloca to ptr addrspace(5)18  call void @llvm.lifetime.start.p0(ptr %alloca)19  store i32 1, ptr addrspace(5) %1, align 420  %ret = load i32, ptr addrspace(5) %1, align 421  call void @llvm.lifetime.end.p0(ptr %alloca)22  ret i32 %ret23}24 25declare void @llvm.lifetime.start.p0(ptr nocapture)26declare void @llvm.lifetime.end.p0(ptr nocapture)27