; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 ; RUN: opt -S < %s | FileCheck %s define void @strip_bitcast() { ; CHECK-LABEL: define void @strip_bitcast() { ; CHECK-NEXT: [[A:%.*]] = alloca i8, align 1 ; CHECK-NEXT: [[B:%.*]] = bitcast ptr [[A]] to ptr ; CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[A]]) ; CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[A]]) ; CHECK-NEXT: ret void ; %a = alloca i8 %b = bitcast ptr %a to ptr call void @llvm.lifetime.start.p0(i64 1, ptr %b) call void @llvm.lifetime.end.p0(i64 1, ptr %b) ret void } define void @strip_addrspacecast() { ; CHECK-LABEL: define void @strip_addrspacecast() { ; CHECK-NEXT: [[A:%.*]] = alloca i8, align 1 ; CHECK-NEXT: [[B:%.*]] = addrspacecast ptr [[A]] to ptr addrspace(1) ; CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[A]]) ; CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[A]]) ; CHECK-NEXT: ret void ; %a = alloca i8 %b = addrspacecast ptr %a to ptr addrspace(1) call void @llvm.lifetime.start.p1(i64 1, ptr addrspace(1) %b) call void @llvm.lifetime.end.p1(i64 1, ptr addrspace(1) %b) ret void } define void @strip_gep() { ; CHECK-LABEL: define void @strip_gep() { ; CHECK-NEXT: [[A:%.*]] = alloca [2 x i8], align 1 ; CHECK-NEXT: [[B:%.*]] = getelementptr [2 x i8], ptr [[A]], i64 0, i64 0 ; CHECK-NEXT: call void @llvm.lifetime.start.p0(ptr [[A]]) ; CHECK-NEXT: call void @llvm.lifetime.end.p0(ptr [[A]]) ; CHECK-NEXT: ret void ; %a = alloca [2 x i8] %b = getelementptr [2 x i8], ptr %a, i64 0, i64 0 call void @llvm.lifetime.start.p0(i64 1, ptr %b) call void @llvm.lifetime.end.p0(i64 1, ptr %b) ret void } define void @remove_unanalyzable(ptr %p) { ; CHECK-LABEL: define void @remove_unanalyzable( ; CHECK-SAME: ptr [[P:%.*]]) { ; CHECK-NEXT: ret void ; call void @llvm.lifetime.start.p0(i64 1, ptr %p) call void @llvm.lifetime.end.p0(i64 1, ptr %p) ret void } declare void @llvm.lifetime.start.p0(i64, ptr) declare void @llvm.lifetime.end.p0(i64, ptr) declare void @llvm.lifetime.start.p1(i64, ptr addrspace(1)) declare void @llvm.lifetime.end.p1(i64, ptr addrspace(1))