39 lines · plain
1; RUN: opt < %s -passes=inline -S | not grep "tail call void @llvm.memcpy.p0.p0.i32"2; PR35503 4define internal void @foo(ptr %p, ptr %q) {5; CHECK-NOT: @foo6entry:7 tail call void @llvm.memcpy.p0.p0.i32(ptr %p, ptr %q, i32 4, i1 false)8 ret void9}10 11define i32 @main() personality ptr @__gxx_personality_v0 {12; CHECK-LABEL: define i32 @main() personality ptr @__gxx_personality_v013entry:14 %a = alloca i3215 %b = alloca i3216 store i32 1, ptr %a, align 417 store i32 0, ptr %b, align 418 invoke void @foo(ptr %a, ptr %b)19 to label %invcont unwind label %lpad20; CHECK-NOT: invoke21; CHECK-NOT: @foo22; CHECK-NOT: tail23; CHECK: call void @llvm.memcpy.p0.p0.i3224; CHECK: br25 26invcont:27 %retval = load i32, ptr %a, align 428 ret i32 %retval29 30lpad:31 %exn = landingpad {ptr, i32}32 catch ptr null33 unreachable34}35 36declare i32 @__gxx_personality_v0(...)37 38declare void @llvm.memcpy.p0.p0.i32(ptr nocapture, ptr nocapture, i32, i1) nounwind39