xref: /llvm-project/llvm/test/Transforms/ObjCARC/intrinsic-use-isolated.ll (revision 01e4f41b43b57dee751146fde9992c660bd7c714)
1; RUN: opt -passes=objc-arc-contract -S < %s | FileCheck %s
2
3; This file makes sure that clang.arc.used is removed even if no other ARC
4; interesting calls are in the module.
5
6declare void @llvm.objc.clang.arc.use(...) nounwind
7
8; Kill calls to @llvm.objc.clang.arc.use(...)
9; CHECK-LABEL: define void @test0(
10; CHECK-NOT: clang.arc.use
11; CHECK: }
12define void @test0(ptr %a, ptr %b) {
13  call void (...) @llvm.objc.clang.arc.use(ptr %a, ptr %b) nounwind
14  ret void
15}
16
17