Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / Transforms / Inline / inline-invoke-tail.ll
blob553286459bf1e408f0bfe5c0506790af8a34c315
1 ; RUN: opt < %s -passes=inline -S | not grep "tail call void @llvm.memcpy.p0.p0.i32"
2 ; PR3550
4 define internal void @foo(ptr %p, ptr %q) {
5 ; CHECK-NOT: @foo
6 entry:
7   tail call void @llvm.memcpy.p0.p0.i32(ptr %p, ptr %q, i32 4, i1 false)
8   ret void
11 define i32 @main() personality ptr @__gxx_personality_v0 {
12 ; CHECK-LABEL: define i32 @main() personality ptr @__gxx_personality_v0
13 entry:
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
26 invcont:
27   %retval = load i32, ptr %a, align 4
28   ret i32 %retval
30 lpad:
31   %exn = landingpad {ptr, i32}
32          catch ptr null
33   unreachable
36 declare i32 @__gxx_personality_v0(...)
38 declare void @llvm.memcpy.p0.p0.i32(ptr nocapture, ptr nocapture, i32, i1) nounwind