21 lines · plain
1; RUN: opt -disable-output -passes=objc-arc-contract < %s2; test that we don't crash on unreachable code3%2 = type opaque4 5define void @_i_Test__foo(ptr %x) {6entry:7 unreachable8 9return: ; No predecessors!10 %foo = call ptr @llvm.objc.autoreleaseReturnValue(ptr %x) nounwind11 call void @callee()12 call void @use_pointer(ptr %foo)13 call void @llvm.objc.release(ptr %foo) nounwind14 ret void15}16 17declare ptr @llvm.objc.autoreleaseReturnValue(ptr)18declare void @llvm.objc.release(ptr)19declare void @callee()20declare void @use_pointer(ptr)21