/external/llvm-project/llvm/test/Assembler/ |
D | sret-type-attr.ll | 3 ; CHECK: define void @foo(i32* sret(i32) align 4 %0) 4 define void @foo(i32* sret(i32) align 4 %0) { 8 ; CHECK: define void @bar({ i32*, i8 }* sret({ i32*, i8 }) align 4 %0) 9 define void @bar({i32*, i8}* sret({i32*, i8}) align 4 %0) { 14 ; CHECK: call void @bar({ i32*, i8 }* sret({ i32*, i8 }) %ptr) 15 ; CHECK: invoke void @bar({ i32*, i8 }* sret({ i32*, i8 }) %ptr) 16 call void @bar({i32*, i8}* sret({i32*, i8}) %ptr) 17 invoke void @bar({i32*, i8}* sret({i32*, i8}) %ptr) to label %success unwind label %fail 27 ; CHECK: declare void @baz([8 x i8]* sret([8 x i8])) 29 declare void @baz(%named_type* sret(%named_type)) [all …]
|
/external/llvm-project/llvm/test/Linker/ |
D | sret-types.ll | 1 ; RUN: llvm-link %s %p/Inputs/sret-type-input.ll -S | FileCheck %s 6 ; CHECK-LABEL: define void @f(%a* sret(%a) %0) 7 define void @f(%a* sret(%a)) { 12 ; CHECK: call void @foo(%struct* sret(%struct) %ptr) 15 call void @foo(%struct* sret(%struct) %ptr) 19 ; CHECK-LABEL: define void @g(%a* sret(%a) %0) 21 ; CHECK-LABEL: define void @foo(%struct* sret(%struct) %a) 22 ; CHECK-NEXT: call void @baz(%struct* sret(%struct) %a) 23 declare void @foo(%struct* sret(%struct) %a) 25 ; CHECK: declare void @baz(%struct* sret(%struct))
|
/external/llvm-project/llvm/test/Verifier/ |
D | sret.ll | 3 declare void @a(i32* sret(i32) %a, i32* sret(i32) %b) 4 ; CHECK: Cannot have multiple 'sret' parameters! 6 declare void @b(i32* %a, i32* %b, i32* sret(i32) %c) 7 ; CHECK: Attribute 'sret' is not on first or second parameter! 11 declare void @not_ptr(i32 sret(i32) %x)
|
D | byref.ll | 23 ; CHECK: Attributes 'byval', 'inalloca', 'preallocated', 'inreg', 'nest', 'byref', and 'sret' are i… 29 ; CHECK: Attributes 'byval', 'inalloca', 'preallocated', 'inreg', 'nest', 'byref', and 'sret' are i… 35 ; CHECK: Attributes 'byval', 'inalloca', 'preallocated', 'inreg', 'nest', 'byref', and 'sret' are i… 41 ; CHECK: Attributes 'byval', 'inalloca', 'preallocated', 'inreg', 'nest', 'byref', and 'sret' are i… 43 define void @byref_sret(i32* byref(i32) sret(i32)) { 47 ; CHECK: Attributes 'byval', 'inalloca', 'preallocated', 'inreg', 'nest', 'byref', and 'sret' are i… 53 ; CHECK: Attributes 'byval', 'inalloca', 'preallocated', 'inreg', 'nest', 'byref', and 'sret' are i… 59 …capture nonnull readnone readonly byref(i32) byval(i32) preallocated(i32) sret(i32) align 1 derefe…
|
/external/llvm/test/Transforms/MemCpyOpt/ |
D | memcpy-to-memset-with-lifetimes.ll | 6 define void @foo([8 x i64]* noalias nocapture sret dereferenceable(64) %sret) { 12 %sret.cast = bitcast [8 x i64]* %sret to i8* 13 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret.cast, i8* %a.cast, i64 64, i32 8, i1 false) 18 ; CHECK: %[[sret_cast:[^=]+]] = bitcast [8 x i64]* %sret to i8* 24 define void @bar([8 x i64]* noalias nocapture sret dereferenceable(64) %sret, [8 x i64]* noalias no… 30 %sret.cast = bitcast [8 x i64]* %sret to i8* 31 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %sret.cast, i8* %a.cast, i64 64, i32 8, i1 false) 42 ; CHECK: %[[sret_cast:[^=]+]] = bitcast [8 x i64]* %sret to i8*
|
D | loadstore-sret.ll | 10 define void @_Z3foov(%"class.std::auto_ptr"* noalias nocapture sret %agg.result) ssp { 13 ; CHECK: call void @_Z3barv(%"class.std::auto_ptr"* sret %agg.result) 14 call void @_Z3barv(%"class.std::auto_ptr"* sret %temp.lvalue) 25 declare void @_Z3barv(%"class.std::auto_ptr"* nocapture sret) nounwind
|
/external/llvm/test/Verifier/ |
D | sret.ll | 3 declare void @a(i32* sret %a, i32* sret %b) 4 ; CHECK: Cannot have multiple 'sret' parameters! 6 declare void @b(i32* %a, i32* %b, i32* sret %c) 7 ; CHECK: Attribute 'sret' is not on first or second parameter!
|
/external/llvm-project/llvm/test/Transforms/MergeFunc/ |
D | apply_function_attributes.ll | 9 define void @B(%Opaque_type* sret(%Opaque_type) %a, %S2i* %b, i32* %xp, i32* %yp) { 18 define void @C(%Opaque_type* sret(%Opaque_type) %a, %S2i* %b, i32* %xp, i32* %yp) { 27 define void @A(%Opaque_type* sret(%Opaque_type) %a, %D2i* %b, i32* %xp, i32* %yp) { 37 ; CHECK-LABEL: define void @C(%Opaque_type* sret 38 …32*, i32*)* @A to void (%Opaque_type*, %S2i*, i32*, i32*)*)(%Opaque_type* sret(%Opaque_type) %0, %… 43 ; CHECK-LABEL: define void @B(%Opaque_type* sret 45 ; CHECK: tail call void @A(%Opaque_type* sret(%Opaque_type) %0, %D2i* %5, i32* %2, i32* %3)
|
/external/llvm/test/Transforms/MergeFunc/ |
D | apply_function_attributes.ll | 9 define void @B(%Opaque_type* sret %a, %S2i* %b, i32* %xp, i32* %yp) { 18 define void @C(%Opaque_type* sret %a, %S2i* %b, i32* %xp, i32* %yp) { 27 define void @A(%Opaque_type* sret %a, %D2i* %b, i32* %xp, i32* %yp) { 37 ; CHECK-LABEL: define void @C(%Opaque_type* sret 38 …32*, i32*)* @A to void (%Opaque_type*, %S2i*, i32*, i32*)*)(%Opaque_type* sret %0, %S2i* %1, i32* … 43 ; CHECK-LABEL: define void @B(%Opaque_type* sret 45 ; CHECK: tail call void @A(%Opaque_type* sret %0, %D2i* %5, i32* %2, i32* %3)
|
/external/ltp/testcases/kernel/syscalls/ipc/msgrcv/ |
D | msgrcv08.c | 61 ssize_t sret; in msr() local 70 sret = msgrcv(msqid, &msbr, sizeof(msbr.mtext), -mtype, IPC_NOWAIT | MSG_NOERROR); in msr() 72 if (sret < 0) { in msr() 81 if ((size_t)sret != sizeof(msbs.mtext)) in msr() 83 sret, sizeof(msbs.mtext)); in msr()
|
/external/llvm-project/llvm/test/Linker/Inputs/ |
D | sret-type-input.ll | 4 define void @g(%a* sret(%a)) { 8 declare void @baz(%struct* sret(%struct)) 10 define void @foo(%struct* sret(%struct) %a) { 11 call void @baz(%struct* sret(%struct) %a)
|
/external/llvm-project/llvm/test/CodeGen/MSP430/ |
D | struct-return.ll | 33 ; CHECK-NEXT: call #sret 34 call void @sret(%struct.S* nonnull sret(%struct.S) %1) #3 38 define void @sret(%struct.S* noalias nocapture sret(%struct.S)) #0 { 39 ; CHECK-LABEL: sret:
|
/external/llvm-project/llvm/test/Transforms/MemCpyOpt/ |
D | memcpy-to-memset-with-lifetimes.ll | 8 define void @foo([8 x i64]* noalias nocapture sret([8 x i64]) dereferenceable(64) %sret) { 20 %sret.cast = bitcast [8 x i64]* %sret to i8* 21 …call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %sret.cast, i8* align 8 %a.cast, i64 64, i1 false) 27 define void @bar([8 x i64]* noalias nocapture sret([8 x i64]) dereferenceable(64) %sret, [8 x i64]*… 47 %sret.cast = bitcast [8 x i64]* %sret to i8* 48 …call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %sret.cast, i8* align 8 %a.cast, i64 64, i1 false)
|
/external/llvm/test/CodeGen/X86/ |
D | inalloca-invoke.ll | 10 declare void @begin(%Iter* sret) 11 declare void @plus(%Iter* sret, %Iter*, i32) 29 call void @begin(%Iter* sret %temp.lvalue) 32 invoke void @plus(%Iter* sret %end, %Iter* %temp.lvalue, i32 4) 35 ; Uses end as sret param. 40 call void @begin(%Iter* sret %beg)
|
D | win32_sret.ll | 12 ; The SysV ABI used by most Unixes and Mingw on x86 specifies that an sret pointer 13 ; is callee-cleanup. However, in MSVC's cdecl calling convention, sret pointer 16 define void @sret1(i8* sret %x) nounwind { 36 define void @sret2(i8* sret %x, i8 %y) nounwind { 56 define void @sret3(i8* sret %x, i8* %y) nounwind { 81 define void @sret4(%struct.S4* noalias sret %agg.result) { 105 define x86_thiscallcc void @"\01?foo@C5@@QAE?AUS5@@XZ"(%struct.S5* noalias sret %agg.result, %class… 130 call x86_thiscallcc void @"\01?foo@C5@@QAE?AUS5@@XZ"(%struct.S5* sret %s, %class.C5* %c) 160 ; The sret pointer is (%esp) 164 ; The sret pointer is %ecx [all …]
|
/external/llvm-project/llvm/test/CodeGen/X86/ |
D | inalloca-invoke.ll | 10 declare void @begin(%Iter* sret(%Iter)) 11 declare void @plus(%Iter* sret(%Iter), %Iter*, i32) 29 call void @begin(%Iter* sret(%Iter) %temp.lvalue) 32 invoke void @plus(%Iter* sret(%Iter) %end, %Iter* %temp.lvalue, i32 4) 35 ; Uses end as sret param. 40 call void @begin(%Iter* sret(%Iter) %beg)
|
D | win32_sret.ll | 12 ; The SysV ABI used by most Unixes and Mingw on x86 specifies that an sret pointer 13 ; is callee-cleanup. However, in MSVC's cdecl calling convention, sret pointer 16 define void @sret1(i8* sret(i8) %x) nounwind { 36 define void @sret2(i8* sret(i8) %x, i8 %y) nounwind { 56 define void @sret3(i8* sret(i8) %x, i8* %y) nounwind { 81 define void @sret4(%struct.S4* noalias sret(%struct.S4) %agg.result) { 105 define x86_thiscallcc void @"\01?foo@C5@@QAE?AUS5@@XZ"(%struct.S5* noalias sret(%struct.S5) %agg.re… 130 …call x86_thiscallcc void @"\01?foo@C5@@QAE?AUS5@@XZ"(%struct.S5* sret(%struct.S5) %s, %class.C5* %… 160 ; The sret pointer is (%esp) 164 ; The sret pointer is %ecx [all …]
|
D | fast-isel-x86.ll | 17 define void @test1({i32, i32, i32, i32}* sret({i32, i32, i32, i32}) %p) nounwind { 63 ; Check that we fast-isel sret, and handle the callee-pops behavior correctly. 68 call void @test3sret(%struct.a* sret(%struct.a) %tmp) 76 declare void @test3sret(%struct.a* sret(%struct.a)) 78 ; Check that fast-isel sret works with fastcc (and does not callee-pop) 82 call fastcc void @test4fastccsret(%struct.a* sret(%struct.a) %tmp) 90 declare fastcc void @test4fastccsret(%struct.a* sret(%struct.a))
|
/external/llvm-project/llvm/test/Analysis/Lint/ |
D | noalias-byval.ll | 11 declare void @f1(%s* noalias nocapture sret(%s), %s* nocapture readnone) 20 call void @f1(%s* sret(%s) %c, %s* %c) 27 ; CHECK-NEXT: call void @f1(%s* sret(%s) %c, %s* %c) 29 declare void @f3(%s* noalias nocapture sret(%s), %s* byval(%s) nocapture readnone) 38 call void @f3(%s* sret(%s) %c, %s* byval(%s) %c) 46 ; CHECK-NOT: call void @f3(%s* sret(%s) %c, %s* byval(%s) %c)
|
/external/llvm/test/Transforms/InstCombine/ |
D | 2007-05-18-CastFoldBug.ll | 1 ; RUN: opt < %s -instcombine -S | grep "call.*sret" 2 ; Make sure instcombine doesn't drop the sret attribute. 6 call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend_stret to void (i16*)*)( i16* sret %tmp10 )
|
/external/llvm/test/CodeGen/AArch64/ |
D | tailcall-explicit-sret.ll | 6 ; Check that we don't try to tail-call with a non-forwarded sret parameter. 7 declare void @test_explicit_sret(i1024* sret) #0 9 ; This is the only OK case, where we forward the explicit sret pointer. 13 define void @test_tailcall_explicit_sret(i1024* sret %arg) #0 { 22 define void @test_call_explicit_sret(i1024* sret %arg) #0 { 85 define void @test_indirect_tailcall_explicit_sret_nosret_arg(i1024* sret %arg, void (i1024*)* %f) #… 100 define void @test_indirect_tailcall_explicit_sret_(i1024* sret %arg, i1024 ()* %f) #0 {
|
/external/llvm-project/llvm/test/CodeGen/AArch64/ |
D | tailcall-explicit-sret.ll | 6 ; Check that we don't try to tail-call with a non-forwarded sret parameter. 7 declare void @test_explicit_sret(i1024* sret(i1024)) #0 9 ; This is the only OK case, where we forward the explicit sret pointer. 13 define void @test_tailcall_explicit_sret(i1024* sret(i1024) %arg) #0 { 22 define void @test_call_explicit_sret(i1024* sret(i1024) %arg) #0 { 85 define void @test_indirect_tailcall_explicit_sret_nosret_arg(i1024* sret(i1024) %arg, void (i1024*)… 100 define void @test_indirect_tailcall_explicit_sret_(i1024* sret(i1024) %arg, i1024 ()* %f) #0 {
|
/external/llvm-project/llvm/test/Transforms/InstCombine/ |
D | 2007-05-18-CastFoldBug.ll | 1 ; RUN: opt < %s -instcombine -S | grep "call.*sret" 2 ; Make sure instcombine doesn't drop the sret attribute. 6 call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend_stret to void (i16*)*)(i16* sret(i16) %tmp10)
|
D | call-cast-attrs.ll | 21 call void bitcast (void (...)* @c to void (i32*)*)(i32* sret(i32) %y) 22 call void bitcast (void (i32, ...)* @d to void (i32, i32*)*)(i32 0, i32* sret(i32) %y) 28 ; CHECK: call void bitcast (void (...)* @c to void (i32*)*)(i32* sret(i32) %y) 29 ; CHECK: call void bitcast (void (i32, ...)* @d to void (i32, i32*)*)(i32 0, i32* sret(i32) %y)
|
/external/llvm-project/llvm/test/CodeGen/Hexagon/ |
D | calling-conv-2.ll | 6 define void @foo(%struct.test_struct* noalias nocapture sret(%struct.test_struct) %agg.result, i32 … 8 call void @bar(%struct.test_struct* sret(%struct.test_struct) %agg.result, i32 45) #0 12 declare void @bar(%struct.test_struct* sret(%struct.test_struct), i32) #0
|