34 lines · plain
1; RUN: opt < %s -passes=inline -S | FileCheck %s2; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s3target triple = "x86_64-apple-darwin"4 5; In inliner, we assume that inline asm does not throw. This testing case makes6; sure that the inliner does not convert "call asm" to "invoke asm".7; rdar://153179078; CHECK-LABEL: @caller9; Make sure we are generating "call asm" instead of "invoke asm".10; CHECK: call void asm11; CHECK-LABEL: @callee_with_asm12define void @caller(i1 %arg) personality ptr @__objc_personality_v0 {13 br i1 %arg, label %1, label %414 15; <label>:116 invoke void @callee_with_asm()17 to label %4 unwind label %218 19; <label>:220 %3 = landingpad { ptr, i32 }21 cleanup22 resume { ptr, i32 } undef23 24; <label>:425 ret void26}27 28define void @callee_with_asm() {29 call void asm sideeffect "mov\09r7, r7\09\09@ marker for objc_retainAutoreleaseReturnValue", ""() nounwind30 ret void31}32 33declare i32 @__objc_personality_v0(...)34