1*9880d681SAndroid Build Coastguard Worker; RUN: opt -objc-arc-contract -S < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; This file makes sure that clang.arc.used is removed even if no other ARC 4*9880d681SAndroid Build Coastguard Worker; interesting calls are in the module. 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdeclare void @clang.arc.use(...) nounwind 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker; Kill calls to @clang.arc.use(...) 9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: define void @test0( 10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: clang.arc.use 11*9880d681SAndroid Build Coastguard Worker; CHECK: } 12*9880d681SAndroid Build Coastguard Workerdefine void @test0(i8* %a, i8* %b) { 13*9880d681SAndroid Build Coastguard Worker call void (...) @clang.arc.use(i8* %a, i8* %b) nounwind 14*9880d681SAndroid Build Coastguard Worker ret void 15*9880d681SAndroid Build Coastguard Worker} 16*9880d681SAndroid Build Coastguard Worker 17