1; RUN: opt -disable-output -passes=objc-arc-contract < %s 2; test that we don't crash on unreachable code 3%2 = type opaque 4 5define void @_i_Test__foo(ptr %x) { 6entry: 7 unreachable 8 9return: ; No predecessors! 10 %foo = call ptr @llvm.objc.autoreleaseReturnValue(ptr %x) nounwind 11 call void @callee() 12 call void @use_pointer(ptr %foo) 13 call void @llvm.objc.release(ptr %foo) nounwind 14 ret void 15} 16 17declare ptr @llvm.objc.autoreleaseReturnValue(ptr) 18declare void @llvm.objc.release(ptr) 19declare void @callee() 20declare void @use_pointer(ptr) 21