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 |
Evan Cheng | fc0b80d | 2009-03-13 22:59:14 +0000 | [diff] [blame^] | 3 | |
| 4 | %struct.FetchPlanHeader = type { i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)*, %struct.__attributeDescriptionFlags } |
| 5 | %struct.NSArray = type { %struct.NSObject } |
| 6 | %struct.NSAutoreleasePool = type { %struct.NSObject, i8*, i8*, i8*, i8* } |
| 7 | %struct.NSObject = type { %struct.NSObject* } |
| 8 | %struct.__attributeDescriptionFlags = type <{ i32 }> |
| 9 | %struct._message_ref_t = type { %struct.NSObject* (%struct.NSObject*, %struct._message_ref_t*, ...)*, %struct.objc_selector* } |
| 10 | %struct.objc_selector = type opaque |
| 11 | @"\01l_objc_msgSend_fixup_alloc" = external global %struct._message_ref_t, align 16 ; <%struct._message_ref_t*> [#uses=2] |
| 12 | |
| 13 | define %struct.NSArray* @newFetchedRowsForFetchPlan_MT(%struct.FetchPlanHeader* %fetchPlan, %struct.objc_selector* %selectionMethod, %struct.NSObject* %selectionParameter) ssp { |
| 14 | entry: |
| 15 | %0 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc") |
| 16 | to label %invcont unwind label %lpad ; <%struct.NSObject*> [#uses=1] |
| 17 | |
| 18 | invcont: ; preds = %entry |
| 19 | %1 = invoke %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)* @objc_msgSend(%struct.NSObject* %0, %struct.objc_selector* null) |
| 20 | to label %invcont26 unwind label %lpad ; <%struct.NSObject*> [#uses=0] |
| 21 | |
| 22 | invcont26: ; preds = %invcont |
| 23 | %2 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc") |
| 24 | to label %invcont27 unwind label %lpad ; <%struct.NSObject*> [#uses=0] |
| 25 | |
| 26 | invcont27: ; preds = %invcont26 |
| 27 | unreachable |
| 28 | |
| 29 | lpad: ; preds = %invcont26, %invcont, %entry |
| 30 | %pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ] ; <%struct.NSAutoreleasePool*> [#uses=0] |
| 31 | unreachable |
| 32 | } |
| 33 | |
| 34 | declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...) |
| 35 | ; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin | not grep jmp |
| 36 | ; rdar://6647639 |
Duncan Sands | 58256f8 | 2009-03-12 21:13:42 +0000 | [diff] [blame] | 37 | ; XFAIL: * |
Evan Cheng | 6fb8f42 | 2009-03-05 06:31:26 +0000 | [diff] [blame] | 38 | |
| 39 | %struct.FetchPlanHeader = type { i8*, i8*, i32, i8*, i8*, i8*, i8*, i8*, %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)*, %struct.__attributeDescriptionFlags } |
| 40 | %struct.NSArray = type { %struct.NSObject } |
| 41 | %struct.NSAutoreleasePool = type { %struct.NSObject, i8*, i8*, i8*, i8* } |
| 42 | %struct.NSObject = type { %struct.NSObject* } |
| 43 | %struct.__attributeDescriptionFlags = type <{ i32 }> |
| 44 | %struct._message_ref_t = type { %struct.NSObject* (%struct.NSObject*, %struct._message_ref_t*, ...)*, %struct.objc_selector* } |
| 45 | %struct.objc_selector = type opaque |
| 46 | @"\01l_objc_msgSend_fixup_alloc" = external global %struct._message_ref_t, align 16 ; <%struct._message_ref_t*> [#uses=2] |
| 47 | |
| 48 | define %struct.NSArray* @newFetchedRowsForFetchPlan_MT(%struct.FetchPlanHeader* %fetchPlan, %struct.objc_selector* %selectionMethod, %struct.NSObject* %selectionParameter) ssp { |
| 49 | entry: |
| 50 | %0 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc") |
| 51 | to label %invcont unwind label %lpad ; <%struct.NSObject*> [#uses=1] |
| 52 | |
| 53 | invcont: ; preds = %entry |
| 54 | %1 = invoke %struct.NSObject* (%struct.NSObject*, %struct.objc_selector*, ...)* @objc_msgSend(%struct.NSObject* %0, %struct.objc_selector* null) |
| 55 | to label %invcont26 unwind label %lpad ; <%struct.NSObject*> [#uses=0] |
| 56 | |
| 57 | invcont26: ; preds = %invcont |
| 58 | %2 = invoke %struct.NSObject* null(%struct.NSObject* null, %struct._message_ref_t* @"\01l_objc_msgSend_fixup_alloc") |
| 59 | to label %invcont27 unwind label %lpad ; <%struct.NSObject*> [#uses=0] |
| 60 | |
| 61 | invcont27: ; preds = %invcont26 |
| 62 | unreachable |
| 63 | |
| 64 | lpad: ; preds = %invcont26, %invcont, %entry |
| 65 | %pool.1 = phi %struct.NSAutoreleasePool* [ null, %entry ], [ null, %invcont ], [ null, %invcont26 ] ; <%struct.NSAutoreleasePool*> [#uses=0] |
| 66 | unreachable |
| 67 | } |
| 68 | |
| 69 | declare %struct.NSObject* @objc_msgSend(%struct.NSObject*, %struct.objc_selector*, ...) |