Searched refs:sret (Results 1 – 25 of 229) sorted by relevance
12345678910
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*
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
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!
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* sret38 …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* sret45 ; CHECK: tail call void @A(%Opaque_type* sret %0, %D2i* %5, i32* %2, i32* %3)
60 ssize_t sret; in msr() local69 sret = msgrcv(msqid, &msbr, sizeof(msbr.mtext), -mtype, IPC_NOWAIT | MSG_NOERROR); in msr()71 if (sret < 0) { in msr()80 if ((size_t)sret != sizeof(msbs.mtext)) in msr()82 sret, sizeof(msbs.mtext)); in msr()
12 ; The SysV ABI used by most Unixes and Mingw on x86 specifies that an sret pointer13 ; is callee-cleanup. However, in MSVC's cdecl calling convention, sret pointer16 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 …]
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)
17 define void @test1({i32, i32, i32, i32}* sret %p) nounwind {63 ; Check that we fast-isel sret, and handle the callee-pops behavior correctly.68 call void @test3sret(%struct.a* sret %tmp)76 declare void @test3sret(%struct.a* sret)78 ; Check that fast-isel sret works with fastcc (and does not callee-pop)82 call fastcc void @test4fastccsret(%struct.a* sret %tmp)90 declare fastcc void @test4fastccsret(%struct.a* sret)
279 …S0_IS1_XT1_EXT0_ELi0ELi0EE(%"struct.FixedMatrix<double,3,3,0,0>"* noalias sret, %"struct.FixedMatr…285 …0ELi0EERKS0_IS1_XT1_ELi0EE(%"struct.FixedMatrix<double,1,6,0,0>"* noalias sret, %struct.Mat6*, %"s…287 …IS1_XT0_EXT1_ELi0ELi0EERKS0_IS1_XT1_EXT2_ELi0ELi0EE(%struct.Mat6* noalias sret, %struct.Mat6*, %st…289 …S0_IS1_XT1_EXT2_ELi0ELi0EE(%"struct.FixedMatrix<double,3,6,0,0>"* noalias sret, %struct.Mat6*, %"s…291 …S0_IS1_XT1_EXT2_ELi0ELi0EE(%"struct.FixedMatrix<double,2,6,0,0>"* noalias sret, %struct.Mat6*, %"s…293 …_ELi0ELi0EERKS0_IS1_XT1_ELi0EE(%"struct.FixedVector<double,5,0>"* noalias sret, %"struct.FixedMatr…295 …S0_IS1_XT1_EXT2_ELi0ELi0EE(%"struct.FixedMatrix<double,5,6,0,0>"* noalias sret, %struct.Mat6*, %"s…379 …IS1_XT0_EXT0_ELi0ELi0EERKS0_IS1_XT1_EXT0_ELi0ELi0EE(%struct.Mat6* noalias sret, %struct.Mat6*, %st…391 …IS1_XT0_EXT1_ELi0ELi0EERKS0_IS1_XT1_EXT2_ELi0ELi0EE(%struct.Mat6* noalias sret, %"struct.FixedMatr…399 …IS1_XT0_EXT0_ELi0ELi0EERKS0_IS1_XT1_EXT0_ELi0ELi0EE(%struct.Mat6* noalias sret, %"struct.FixedMatr…[all …]
3 define void @ccosl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %z) nou…10 …call void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %insert…21 declare void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret, { x86_fp80, x86_fp80 }) nounwind
8 define void @add3i32(%i32vec3* sret %ret, %i32vec3* %ap, %i32vec3* %bp) {24 define void @add3i32_2(%i32vec3* sret %ret, %i32vec3* %ap, %i32vec3* %bp) {44 define void @add7i32(%i32vec7* sret %ret, %i32vec7* %ap, %i32vec7* %bp) {64 define void @add12i32(%i32vec12* sret %ret, %i32vec12* %ap, %i32vec12* %bp) {87 define void @add3i16(%i16vec3* nocapture sret %ret, %i16vec3* %ap, %i16vec3* %bp) nounwind {107 define void @add4i16(%i16vec4* nocapture sret %ret, %i16vec4* %ap, %i16vec4* %bp) nounwind {124 define void @add12i16(%i16vec12* nocapture sret %ret, %i16vec12* %ap, %i16vec12* %bp) nounwind {143 define void @add18i16(%i16vec18* nocapture sret %ret, %i16vec18* %ap, %i16vec18* %bp) nounwind {166 define void @add3i8(%i8vec3* nocapture sret %ret, %i8vec3* %ap, %i8vec3* %bp) nounwind {187 define void @add31i8(%i8vec31* nocapture sret %ret, %i8vec31* %ap, %i8vec31* %bp) nounwind {[all …]
7 define void @add3i32(%i32vec3* sret %ret, %i32vec3* %ap, %i32vec3* %bp) {19 define void @add3i32_2(%i32vec3* sret %ret, %i32vec3* %ap, %i32vec3* %bp) {35 define void @add7i32(%i32vec7* sret %ret, %i32vec7* %ap, %i32vec7* %bp) {51 define void @add12i32(%i32vec12* sret %ret, %i32vec12* %ap, %i32vec12* %bp) {70 define void @add3i16(%i16vec3* nocapture sret %ret, %i16vec3* %ap, %i16vec3* %bp) nounwind {83 define void @add4i16(%i16vec4* nocapture sret %ret, %i16vec4* %ap, %i16vec4* %bp) nounwind {95 define void @add12i16(%i16vec12* nocapture sret %ret, %i16vec12* %ap, %i16vec12* %bp) nounwind {110 define void @add18i16(%i16vec18* nocapture sret %ret, %i16vec18* %ap, %i16vec18* %bp) nounwind {129 define void @add3i8(%i8vec3* nocapture sret %ret, %i8vec3* %ap, %i8vec3* %bp) nounwind {142 define void @add31i8(%i8vec31* nocapture sret %ret, %i8vec31* %ap, %i8vec31* %bp) nounwind {
16 define void @test1({i32, i32, i32, i32}* sret %p) nounwind {35 ; Check that we fast-isel sret, and handle the callee-pops behavior correctly.40 call void @test3sret(%struct.a* sret %tmp)48 declare void @test3sret(%struct.a* sret)
3 define void @ccosl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %z) nou…10 …call void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret %agg.result, { x86_fp80, x86_fp80 } %insert…14 declare void @ccoshl({ x86_fp80, x86_fp80 }* noalias sret, { x86_fp80, x86_fp80 }) nounwind
6 ; Check that we don't try to tail-call with a non-forwarded sret parameter.7 declare void @test_explicit_sret(i1024* sret) #09 ; 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 {
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"* sret)
19 declare void @TestBaz(%class.basic_string.11.42.73* noalias sret %arg)21 define void @TestBar(%class.basic_string.11.42.73* noalias sret %arg) {23 call void @TestBaz(%class.basic_string.11.42.73* noalias sret %arg)27 define void @TestFoo(%class.basic_string.11.42.73* noalias sret %arg) {40 tail call void @TestBar(%class.basic_string.11.42.73* noalias sret %arg)
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 )
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 )
7 define void @foo(%struct.test_struct* noalias nocapture sret %agg.result, i32 %a) #0 {9 call void @bar(%struct.test_struct* sret %agg.result, i32 45) #213 declare void @bar(%struct.test_struct* sret, i32) #1
284 static int scan_was_ok(int sret, char nextc, const char *ok_next_chars) in scan_was_ok() argument286 return sret == 1 || (sret == 2 && strchr(ok_next_chars, nextc) != NULL); in scan_was_ok()312 int sret; /* sscanf return (number of matches) */ in bitmask_parselist() local314 sret = sscanf(p, "%u%c", &a, &nextc); in bitmask_parselist()315 if (!scan_was_ok(sret, nextc, ",-")) in bitmask_parselist()322 sret = sscanf(c1, "%u%c", &b, &nextc); in bitmask_parselist()323 if (!scan_was_ok(sret, nextc, ",:")) in bitmask_parselist()327 sret = sscanf(c1, "%u%c", &s, &nextc); in bitmask_parselist()328 if (!scan_was_ok(sret, nextc, ",")) in bitmask_parselist()
4 ; CHECK: call void @check0(%struct.S0* sret null, %struct.S0* byval align 4 null, %struct.S0* align…5 ; CHECK: define void @check0(%struct.S0* sret %agg.result, %struct.S0* byval %arg0, %struct.S0* %ar…10 …call void @check0(%struct.S0* sret null, %struct.S0* byval align 4 null, %struct.S0* align 4 null,…
185 S* b(S* sret, int, int, int, int, T, void*) { in b() argument186 return sret; in b()195 S* d(S* sret, int, int, int, T, void*) { in d() argument196 return sret; in d()
74 call spir_func void @_Z10ndrange_2DPKm(%struct.ndrange_t* sret %tmp, i64* %arraydecay) #278 call spir_func void @_Z10ndrange_3DPKm(%struct.ndrange_t* sret %tmp3, i64* %arraydecay2) #285 declare spir_func void @_Z10ndrange_2DPKm(%struct.ndrange_t* sret, i64*) #187 declare spir_func void @_Z10ndrange_3DPKm(%struct.ndrange_t* sret, i64*) #194 …call spir_func void @_Z10ndrange_2DPKm(%struct.ndrange_t* sret %tmp, i64* getelementptr inbounds (…95 …call spir_func void @_Z10ndrange_3DPKm(%struct.ndrange_t* sret %tmp1, i64* getelementptr inbounds …