[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / Transforms / TailCallElim / setjmp.ll
blob8af4bf13a118a83a8ce8a1ba1d0496823b516a42
1 ; RUN: opt < %s -tailcallelim -verify-dom-info -S | FileCheck %s
3 ; Test that we don't tail call in a functions that calls returns_twice
4 ; functions.
6 declare void @bar()
8 ; CHECK: foo1
9 ; CHECK-NOT: tail call void @bar()
11 define void @foo1(i32* %x) {
12 bb:
13   %tmp75 = tail call i32 @setjmp(i32* %x)
14   call void @bar()
15   ret void
18 declare i32 @setjmp(i32*) returns_twice
20 ; CHECK: foo2
21 ; CHECK-NOT: tail call void @bar()
23 define void @foo2(i32* %x) {
24 bb:
25   %tmp75 = tail call i32 @zed2(i32* %x)
26   call void @bar()
27   ret void
29 declare i32 @zed2(i32*) returns_twice