1; RUN: opt < %s -passes=inline -S | not grep "tail call void @llvm.memcpy.p0.p0.i32" 2; PR3550 3 4define internal void @foo(ptr %p, ptr %q) { 5; CHECK-NOT: @foo 6entry: 7 tail call void @llvm.memcpy.p0.p0.i32(ptr %p, ptr %q, i32 4, i1 false) 8 ret void 9} 10 11define i32 @main() personality ptr @__gxx_personality_v0 { 12; CHECK-LABEL: define i32 @main() personality ptr @__gxx_personality_v0 13entry: 14 %a = alloca i32 15 %b = alloca i32 16 store i32 1, ptr %a, align 4 17 store i32 0, ptr %b, align 4 18 invoke void @foo(ptr %a, ptr %b) 19 to label %invcont unwind label %lpad 20; CHECK-NOT: invoke 21; CHECK-NOT: @foo 22; CHECK-NOT: tail 23; CHECK: call void @llvm.memcpy.p0.p0.i32 24; CHECK: br 25 26invcont: 27 %retval = load i32, ptr %a, align 4 28 ret i32 %retval 29 30lpad: 31 %exn = landingpad {ptr, i32} 32 catch ptr null 33 unreachable 34} 35 36declare i32 @__gxx_personality_v0(...) 37 38declare void @llvm.memcpy.p0.p0.i32(ptr nocapture, ptr nocapture, i32, i1) nounwind 39