Evan Cheng | 6fb8f42 | 2009-03-05 06:31:26 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin | not grep jmp |
| 2 | ; rdar://6647639 |
Duncan Sands | 58256f8 | 2009-03-12 21:13:42 +0000 | [diff] [blame] | 3 | ; XFAIL: * |
Evan Cheng | 6fb8f42 | 2009-03-05 06:31:26 +0000 | [diff] [blame] | 4 | |
| 5 | %struct.FetchPlanHeader = type { i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)*, %struct.__attributeDescriptionFlags } |
| 6 | %struct.NSArray = type { %struct.NSObject } |
| 7 | %struct.NSAutoreleasePool = type { %struct.NSObject, i8*, i8*, i8*, i8* } |
| 8 | %struct.NSObject = type { %struct.NSObject* } |
| 9 | %struct.__attributeDescriptionFlags = type <{ i32 }> |
| 10 | %struct._message_ref_t = type { %struct.NSObject* (%struct.NSObject*, %struct._message_ref_t*, ...)*, %struct.objc_selector* } |
| 11 | %struct.objc_selector = type opaque |
| 12 | @"\01l_objc_msgSend_fixup_alloc" = external global %struct._message_ref_t, align 16 ; <%struct._message_ref_t*> [#uses=2] |
| 13 | |
| 14 | define %struct.NSArray* @newFetchedRowsForFetchPlan_MT(%struct.FetchPlanHeader* %fetchPlan, %struct.objc_selector* %selectionMethod, %struct.NSObject* %selectionParameter) ssp { |
| 15 | entry: |
| 16 | %0 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc") |
| 17 | to label %invcont unwind label %lpad ; <%struct.NSObject*> [#uses=1] |
| 18 | |
| 19 | invcont: ; preds = %entry |
| 20 | %1 = invoke %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)* @objc_msgSend(%struct.NSObject* %0, %struct.objc_selector* null) |
| 21 | to label %invcont26 unwind label %lpad ; <%struct.NSObject*> [#uses=0] |
| 22 | |
| 23 | invcont26: ; preds = %invcont |
| 24 | %2 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc") |
| 25 | to label %invcont27 unwind label %lpad ; <%struct.NSObject*> [#uses=0] |
| 26 | |
| 27 | invcont27: ; preds = %invcont26 |
| 28 | unreachable |
| 29 | |
| 30 | lpad: ; preds = %invcont26, %invcont, %entry |
| 31 | %pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ] ; <%struct.NSAutoreleasePool*> [#uses=0] |
| 32 | unreachable |
| 33 | } |
| 34 | |
| 35 | declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...) |