brintos

brintos / llvm-project-archived public Read only

0
0
Text · 944 B · 5532864 Raw
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