brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · af6ccdc Raw
55 lines · plain
1; RUN: llc < %s -O0 -mtriple=thumbv7-apple-ios | FileCheck %s2 3; Radar 10567930: Make sure that all the caller-saved registers are saved and4; restored in a function with setjmp/longjmp EH.  In particular, r6 was not5; being saved here.6; CHECK: push.w {r4, r5, r6, r7, r8, r10, r11, lr}7 8%0 = type opaque9%struct.NSConstantString = type { ptr, i32, ptr, i32 }10 11define i32 @asdf(i32 %a, i32 %b, ptr %c, ptr %d) personality ptr @__objc_personality_v0 {12bb:13  %tmp = alloca i32, align 414  %tmp1 = alloca i32, align 415  %tmp2 = alloca ptr, align 416  %tmp3 = alloca i117  %myException = alloca ptr, align 418  %tmp4 = alloca ptr19  %tmp5 = alloca i3220  %exception = alloca ptr, align 421  store i32 %a, ptr %tmp, align 422  store i32 %b, ptr %tmp1, align 423  store ptr %d, ptr %tmp2, align 424  store i1 false, ptr %tmp325  %tmp7 = load ptr, ptr %c26  %tmp10 = invoke ptr @objc_msgSend(ptr %tmp7, ptr %d, ptr null)27          to label %bb11 unwind label %bb1528 29bb11:                                             ; preds = %bb30  store ptr %tmp10, ptr %myException, align 431  %tmp12 = load ptr, ptr %myException, align 432  invoke void @objc_exception_throw(ptr %tmp12) noreturn33          to label %bb14 unwind label %bb1534 35bb14:                                             ; preds = %bb1136  unreachable37 38bb15:                                             ; preds = %bb11, %bb39  %tmp16 = landingpad { ptr, i32 }40          catch ptr null41  %tmp17 = extractvalue { ptr, i32 } %tmp16, 042  store ptr %tmp17, ptr %tmp443  %tmp18 = extractvalue { ptr, i32 } %tmp16, 144  store i32 %tmp18, ptr %tmp545  store i1 true, ptr %tmp346  br label %bb5647 48bb56:49  unreachable50}51 52declare ptr @objc_msgSend(ptr, ptr, ...) nonlazybind53declare i32 @__objc_personality_v0(...)54declare void @objc_exception_throw(ptr)55