[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / X86 / tail-calls-compatible-attrs.ll
blobe7f38a7f8563dd5a117cc37e8c8c31da3c228cdd
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=x86_64-linux < %s | FileCheck %s
4 declare dso_local i8* @foo()
6 define dereferenceable(8) i8* @test1() nounwind {
7 ; CHECK-LABEL: test1:
8 ; CHECK:       # %bb.0:
9 ; CHECK-NEXT:    jmp foo # TAILCALL
10   %ret = tail call i8* @foo()
11   ret i8* %ret
14 define i8* @test2() nounwind {
15 ; CHECK-LABEL: test2:
16 ; CHECK:       # %bb.0:
17 ; CHECK-NEXT:    jmp foo # TAILCALL
18   %ret = tail call dereferenceable(8)  i8* @foo()
19   ret i8* %ret
22 define dereferenceable_or_null(8) i8* @test3() nounwind {
23 ; CHECK-LABEL: test3:
24 ; CHECK:       # %bb.0:
25 ; CHECK-NEXT:    jmp foo # TAILCALL
26   %ret = tail call i8* @foo()
27   ret i8* %ret
30 define i8* @test4() nounwind {
31 ; CHECK-LABEL: test4:
32 ; CHECK:       # %bb.0:
33 ; CHECK-NEXT:    jmp foo # TAILCALL
34   %ret = tail call dereferenceable_or_null(8) i8* @foo()
35   ret i8* %ret
38 define align 8 i8* @test5() nounwind {
39 ; CHECK-LABEL: test5:
40 ; CHECK:       # %bb.0:
41 ; CHECK-NEXT:    jmp foo # TAILCALL
42   %ret = tail call i8* @foo()
43   ret i8* %ret
46 define i8* @test6() nounwind {
47 ; CHECK-LABEL: test6:
48 ; CHECK:       # %bb.0:
49 ; CHECK-NEXT:    jmp foo # TAILCALL
50   %ret = tail call align 8 i8* @foo()
51   ret i8* %ret