| /llvm-project-15.0.7/clang/test/SemaCXX/ |
| H A D | attr-musttail.cpp | 8 [[clang::musttail]] return ReturnsInt1(); in Func1() 19 [[clang::musttail]] // expected-note {{tail call required by 'musttail' attribute here}} in TestParamArityMismatch() 25 [[clang::musttail]] // expected-note {{tail call required by 'musttail' attribute here}} in TestParamTypeMismatch() 31 [[clang::musttail]] // expected-note {{tail call required by 'musttail' attribute here}} in TestReturnTypeMismatch() 47 [[clang::musttail]] // expected-note {{tail call required by 'musttail' attribute here}} in TestMemberToNonMember() 96 [[clang::musttail]] return ReturnsVoid2(); in TestNestedClass() 106 [[clang::musttail]] return TemplateFunc<int>(x); in OkTemplateFunc() 167 [[clang::musttail]] return lambda_fptr(); in TestNonCapturingLambda() 168 [[clang::musttail]] return (+lambda)(); in TestNonCapturingLambda() 185 [[clang::musttail]] // expected-note {{tail call required by 'musttail' attribute here}} in ~TestDestructor() [all …]
|
| /llvm-project-15.0.7/clang/test/CodeGenCXX/ |
| H A D | attr-musttail.cpp | 12 [[clang::musttail]] return Bar(x); in Func1() 20 [[clang::musttail]] return Bar(Bar(x)); in Func2() 63 [[clang::musttail]] return (this->*pmf)(x); in TailFrom3() 71 [[clang::musttail]] return ReturnsVoid(); in Func5() 82 [[clang::musttail]] return ReturnsInt(x); in Func6() 111 [[clang::musttail]] return Bar(x); in Func10() 122 [[clang::musttail]] return ::Bar(x); in Func12() 133 [[clang::musttail]] return Bar(x); in Func14() 180 [[clang::musttail]] return p(x); in TestFunctionPointer() 213 [[clang::musttail]] return (+lambda)(); in TestNonCapturingLambda() [all …]
|
| /llvm-project-15.0.7/llvm/test/Verifier/ |
| H A D | swifttailcc-musttail.ll | 6 ; CHECK: inreg attribute not allowed in swifttailcc musttail caller 7 musttail call swifttailcc void @simple() 12 ; CHECK: inalloca attribute not allowed in swifttailcc musttail caller 13 musttail call swifttailcc void @simple() 19 musttail call swifttailcc void @simple() 25 musttail call swifttailcc void @simple() 30 ; CHECK: byref attribute not allowed in swifttailcc musttail caller 31 musttail call swifttailcc void @simple() 37 musttail call swifttailcc void @inreg(i8* inreg undef) 62 musttail call swifttailcc void @byref(i8* byref(i8) undef) [all …]
|
| H A D | tailcc-musttail.ll | 6 ; CHECK: inreg attribute not allowed in tailcc musttail caller 7 musttail call tailcc void @simple() 12 ; CHECK: inalloca attribute not allowed in tailcc musttail caller 13 musttail call tailcc void @simple() 19 musttail call tailcc void @simple() 25 musttail call tailcc void @simple() 30 ; CHECK: byref attribute not allowed in tailcc musttail caller 31 musttail call tailcc void @simple() 37 musttail call tailcc void @inreg(i8* inreg undef) 62 musttail call tailcc void @byref(i8* byref(i8) undef) [all …]
|
| H A D | musttail-invalid.ll | 4 ; Each musttail call should fail to validate. 9 musttail call x86_stdcallcc void @cc_mismatch_callee() 16 musttail call void @more_parms_callee(i32 0) 23 musttail call void @mismatched_intty_callee(i8 0) 39 musttail call { i32, i32, i32 } @mismatched_retty_callee(i32 0) 46 musttail call void @mismatched_byval_callee({ i32 }* %a) 53 musttail call void @mismatched_inreg_callee(i32 inreg %a) 60 musttail call void @mismatched_sret_callee(i32* sret(i32) %a) 74 %v = musttail call i32 @not_tail_pos_callee() 80 ; CHECK: cannot use musttail call with inline asm [all …]
|
| H A D | musttail-valid.ll | 7 musttail call void @similar_param_ptrty_callee(i8* null) 13 %v = musttail call i8* @similar_ret_ptrty_callee() 20 musttail call x86_thiscallcc void (i8*, ...) @varargs_thiscall(i8* %this, ...) 26 musttail call x86_fastcallcc void (i8*, ...) @varargs_fastcall(i8* %this, ...) 35 musttail call x86_thiscallcc void (i8*, ...) @varargs_thiscall(i8* %this, ...)
|
| /llvm-project-15.0.7/llvm/test/Transforms/Inline/ |
| H A D | inline-tail.ll | 25 ; CHECK-NOT: musttail 38 ; After inlining through a musttail call site, we need to keep musttail markers 56 ; CHECK: musttail call void @test_byval_c( 91 ; CHECK: musttail call void @test_multiret_c( 93 ; CHECK: musttail call void @test_multiret_d( 114 ; CHECK: musttail call i8* @test_retptr_c( 120 %rv = musttail call i8* @test_retptr_c() 125 %rv = musttail call i16* @test_retptr_b() 158 ; Inline a musttail call site which contains a normal return and a musttail call. 207 musttail call void @do_ret(i32 %a) [all …]
|
| H A D | inline-brunch-funnel.ll | 18 musttail call void (...) @llvm.icall.branch.funnel(...) 19 ; CHECK: musttail call void (...) @llvm.icall.branch.funnel( 32 musttail call void (...) @llvm.icall.branch.funnel(...) 33 ; CHECK: musttail call void (...) @llvm.icall.branch.funnel(
|
| /llvm-project-15.0.7/llvm/test/Transforms/IROutliner/ |
| H A D | outlining-swifttailcc.ll | 4 ; Check that we do not outline musttail calls when swifttailcc is present. 6 declare swifttailcc void @musttail() 11 musttail call swifttailcc void @musttail() 18 musttail call swifttailcc void @musttail() 24 ; CHECK-NEXT: musttail call swifttailcc void @musttail() 31 ; CHECK-NEXT: musttail call swifttailcc void @musttail()
|
| H A D | outlining-musttail.ll | 4 ; Check that we do not outline musttail when swifttaill cc or tailcc 7 declare void @musttail() 12 musttail call void @musttail() 19 musttail call void @musttail() 25 ; CHECK-NEXT: musttail call void @musttail() 32 ; CHECK-NEXT: musttail call void @musttail()
|
| H A D | outlining-tailcc.ll | 4 ; Check that we not do outline musttail calls when tailcc is present. 6 declare tailcc void @musttail() 11 musttail call tailcc void @musttail() 18 musttail call tailcc void @musttail() 24 ; CHECK-NEXT: musttail call tailcc void @musttail() 31 ; CHECK-NEXT: musttail call tailcc void @musttail()
|
| /llvm-project-15.0.7/clang/test/Sema/ |
| H A D | attr-musttail.m | 5 …__attribute__((musttail)) return TestObjcBlock(); // expected-error{{'musttail' attribute cannot b… 7 __attribute__((musttail)) return x(); 13 …__attribute__((musttail)) return ReturnsVoid(); // expected-error{{cannot perform a tail call from… 23 …__attribute__((musttail)) return ReturnsVoid(); // expected-error{{'musttail' attribute cannot be …
|
| /llvm-project-15.0.7/llvm/test/Transforms/CallSiteSplitting/ |
| H A D | musttail.ll | 5 ;CHECK: %ca1 = musttail call i8* @callee(i8* null, i8* %b) 9 ;CHECK: %ca3 = musttail call i8* @callee(i8* nonnull %a, i8* null) 20 %ca = musttail call i8* @callee(i8* %a, i8* %b) 33 ;CHECK: %ca1 = musttail call i8* @callee(i8* null, i8* %b) 36 ;CHECK: %ca2 = musttail call i8* @callee(i8* nonnull %a, i8* null) 46 %ca = musttail call i8* @callee(i8* %a, i8* %b) 54 ;CHECK: musttail call void @void_callee(i8* null, i8* %b) 57 ;CHECK: musttail call void @void_callee(i8* nonnull %a, i8* null) 67 musttail call void @void_callee(i8* %a, i8* %b) 81 ;CHECK: %r1 = musttail call i8* @callee(i8* null, i8* %b) [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/GlobalOpt/ |
| H A D | musttail_cc.ll | 4 ; Check that musttail callee preserves its calling convention 7 ; CHECK: %ca = musttail call i32 @foo(i32 %a) 8 %ca = musttail call i32 @foo(i32 %a) 17 ; Check that musttail caller preserves its calling convention 26 ; CHECK: %ca = musttail call i32 @foo2(i32 %a) 27 %ca = musttail call i32 @foo2(i32 %a)
|
| /llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/ |
| H A D | indirect_call_promotion_musttail.ll | 30 ; ICALL-PROM: [[DIRCALL_RET1:%[0-9]+]] = musttail call ptr @func4() 36 ; ICALL-PROM: [[DIRCALL_RET2:%[0-9]+]] = musttail call ptr @func2() 42 ; ICALL-PROM: [[DIRCALL_RET3:%[0-9]+]] = musttail call ptr @func3() 45 ; ICALL-PROM: %call = musttail call ptr %tmp() 47 %call = musttail call ptr %tmp(), !prof !1 57 ; ICALL-PROM: [[DIRCALL_RET1:%[0-9]+]] = musttail call ptr @func4() 60 ; ICALL-PROM: %call = musttail call ptr %tmp() 62 %call = musttail call ptr %tmp(), !prof !2
|
| /llvm-project-15.0.7/llvm/test/Transforms/Attributor/IPConstantProp/ |
| H A D | musttail-call.ll | 7 ; musttail call result can't be replaced with a constant, unless the call can be removed 18 ; IS__TUNIT____-NEXT: [[CA:%.*]] = musttail call noalias noundef align 4294967296 i8* @side_effe… 26 ; IS__TUNIT____-NEXT: [[CA2:%.*]] = musttail call noalias noundef align 4294967296 i8* @dont_zap… 34 ; IS__CGSCC____-NEXT: [[CA:%.*]] = musttail call noalias noundef align 4294967296 i8* @side_effe… 43 ; IS__CGSCC____-NEXT: [[CA2:%.*]] = musttail call noalias noundef align 4294967296 i8* @dont_zap… 50 %ca = musttail call i8* @side_effects(i8 %v) 56 %ca1 = musttail call i8* @no_side_effects(i8 %v) 59 %ca2 = musttail call i8* @dont_zap_me(i8 %v) 67 ; IS________OPM-NEXT: [[CA:%.*]] = musttail call noalias noundef align 4294967296 i8* @start(i8 … 73 ; IS________NPM-NEXT: [[CA:%.*]] = musttail call noalias noundef align 4294967296 i8* @start(i8 … [all …]
|
| /llvm-project-15.0.7/llvm/test/Transforms/SCCP/ |
| H A D | musttail-call.ll | 4 ; musttail call result can\'t be replaced with a constant, unless the call 15 ; CHECK-NEXT: [[CA:%.*]] = musttail call i8* @side_effects(i8 0) 23 ; CHECK-NEXT: [[CA2:%.*]] = musttail call i8* @dont_zap_me(i8 [[V]]) 29 %ca = musttail call i8* @side_effects(i8 %v) 35 %ca1 = musttail call i8* @no_side_effects(i8 %v) 38 %ca2 = musttail call i8* @dont_zap_me(i8 %v) 46 ; CHECK-NEXT: [[CA:%.*]] = musttail call i8* @start(i8 0) 55 %ca = musttail call i8* @start(i8 %v)
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | tailcall-swifttailcc.ll | 11 %tmp11 = musttail call swifttailcc i32 @tailcallee(i32 %in1, i32 %in2, i32 %in1, i32 %in2) 20 %p = musttail call swifttailcc ptr @alias_callee() 29 %p = musttail call swifttailcc noalias ptr @noalias_callee() 38 %p = musttail call swifttailcc i32 @i32_callee() 55 musttail call swifttailcc void @void_test( i32 %0, i32 %1, i32 %2, i32 %3) 63 %4 = musttail call swifttailcc i1 @i1test( i32 %0, i32 %1, i32 %2, i32 %3)
|
| H A D | musttail-indirect.ll | 35 %2 = musttail call x86_thiscallcc i32 %1(ptr %this, i32 %0) 49 …%2 = musttail call x86_thiscallcc i32 %1(ptr %this, ptr inalloca(<{ %struct.A, i32, %struct.A }>) … 63 …%2 = musttail call x86_thiscallcc i32 %1(ptr %this, ptr preallocated(<{ %struct.A, i32, %struct.A … 76 musttail call x86_thiscallcc void %1(ptr %this, ptr inalloca(<{ %struct.A, i32, %struct.A }>) %0) 89 …musttail call x86_thiscallcc void %1(ptr %this, ptr preallocated(<{ %struct.A, i32, %struct.A }>) … 102 …%2 = musttail call x86_thiscallcc ptr %1(ptr %this, ptr inalloca(<{ ptr, %struct.A, i32, %struct.A… 127 musttail call x86_thiscallcc void %1(ptr sret(%struct.A) %agg.result, ptr %this, i32 %0) 142 %2 = musttail call x86_stdcallcc i32 %1(ptr inalloca(<{ ptr, %struct.A }>) %0) 157 %2 = musttail call x86_stdcallcc i32 %1(ptr preallocated(<{ ptr, %struct.A }>) %0) 170 %2 = musttail call x86_fastcallcc i32 %1(ptr inreg %this, ptr inalloca(<{ %struct.A }>) %0) [all …]
|
| H A D | musttail-tailcc.ll | 5 ; tailcc will turn all of these musttail calls into tail calls. 18 %tmp11 = musttail call tailcc i32 @tailcallee(i32 %in1, i32 %in2) 32 %p = musttail call tailcc ptr @alias_callee() 46 %p = musttail call tailcc noalias ptr @noalias_callee() 68 musttail call tailcc void @void_test( i32 %0, i32 %1, i32 %2, i32 %3) 90 %4 = musttail call tailcc i1 @i1test( i32 %0, i32 %1, i32 %2, i32 %3)
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/AddressSanitizer/ |
| H A D | musttail.ll | 1 ; To test that asan does not break the musttail call contract. 14 %r = musttail call i32 @foo(i32* %a) 19 ; CHECK: %r = musttail call i32 @foo(i32* %a) 26 %r = musttail call i32 @foo(i32* %a) 32 ; CHECK: %r = musttail call i32 @foo(i32* %a)
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/DataFlowSanitizer/ |
| H A D | musttailcall.ll | 22 ; CHECK-NEXT: musttail call i32 @inner_callee.dfsan 23 %r = musttail call i32 @inner_callee(i32 %0) 25 ; For "musttail" calls we can not insert any shadow manipulating code between 29 ; __dfsan_retval_tls can be elided because we know about the musttail. 52 %r = musttail call i32* @mismatching_callee(i32 %0) 53 ; CHECK: musttail call i32* @mismatching_callee.dfsan
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/GlobalISel/ |
| H A D | call-translator-musttail.ll | 4 ; Verify that we fall back to SelectionDAG, and error out when we can't tail call musttail functions 6 ; CHECK-NEXT: Failed to lower musttail call as tail call 8 ; CHECK-NEXT: LLVM ERROR: failed to perform tail call elimination on a call site marked musttail 11 musttail call void @callee_weak()
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/HWAddressSanitizer/ |
| H A D | musttail.ll | 2 ; using musttail. 24 ; Check we untag before the musttail. 26 ; CHECK: musttail call 28 %7 = musttail call noundef i32 @_Z3bari(i32 noundef %6)
|
| /llvm-project-15.0.7/llvm/test/Instrumentation/ThreadSanitizer/ |
| H A D | tsan_musttail.ll | 10 %r = musttail call i32 @preallocated_musttail(i32* preallocated(i32) %a) 16 ; CHECK-NEXT: %r = musttail call i32 @preallocated_musttail(i32* preallocated(i32) %a) 21 %r = musttail call i32 @preallocated_musttail(i32* preallocated(i32) %a) 28 ; CHECK-NEXT: %r = musttail call i32 @preallocated_musttail(i32* preallocated(i32) %a)
|