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