brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 83c9e80 Raw
70 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=x86_64-linux < %s | FileCheck %s3 4declare dso_local ptr @foo()5 6define dereferenceable(8) ptr @test1() nounwind {7; CHECK-LABEL: test1:8; CHECK:       # %bb.0:9; CHECK-NEXT:    jmp foo # TAILCALL10  %ret = tail call ptr @foo()11  ret ptr %ret12}13 14define ptr @test2() nounwind {15; CHECK-LABEL: test2:16; CHECK:       # %bb.0:17; CHECK-NEXT:    jmp foo # TAILCALL18  %ret = tail call dereferenceable(8)  ptr @foo()19  ret ptr %ret20}21 22define dereferenceable_or_null(8) ptr @test3() nounwind {23; CHECK-LABEL: test3:24; CHECK:       # %bb.0:25; CHECK-NEXT:    jmp foo # TAILCALL26  %ret = tail call ptr @foo()27  ret ptr %ret28}29 30define ptr @test4() nounwind {31; CHECK-LABEL: test4:32; CHECK:       # %bb.0:33; CHECK-NEXT:    jmp foo # TAILCALL34  %ret = tail call dereferenceable_or_null(8) ptr @foo()35  ret ptr %ret36}37 38define align 8 ptr @test5() nounwind {39; CHECK-LABEL: test5:40; CHECK:       # %bb.0:41; CHECK-NEXT:    jmp foo # TAILCALL42  %ret = tail call ptr @foo()43  ret ptr %ret44}45 46define ptr @test6() nounwind {47; CHECK-LABEL: test6:48; CHECK:       # %bb.0:49; CHECK-NEXT:    jmp foo # TAILCALL50  %ret = tail call align 8 ptr @foo()51  ret ptr %ret52}53 54 55define noundef ptr @test7() nounwind {56; CHECK-LABEL: test7:57; CHECK:       # %bb.0:58; CHECK-NEXT:    jmp foo # TAILCALL59  %ret = tail call ptr @foo()60  ret ptr %ret61}62 63define ptr @test8() nounwind {64; CHECK-LABEL: test8:65; CHECK:       # %bb.0:66; CHECK-NEXT:    jmp foo # TAILCALL67  %ret = tail call noundef ptr @foo()68  ret ptr %ret69}70