Searched refs:sret (Results 1 – 25 of 135) sorted by relevance
123456
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)
8 define void @ccosl(%0* noalias sret %agg.result, %0* byval align 8 %z) nounwind {21 call void @ccoshl(%0* noalias sret %memtmp, %0* byval align 8 %iz) nounwind28 declare void @ccoshl(%0* noalias nocapture sret, %0* byval) nounwind
12 declare void @bar(%struct1* nocapture sret %agg.result) nounwind17 call void @bar(%struct1* sret %x) nounwind18 ; CHECK: call void @bar(%struct1* sret %x)
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)
10 declare void @begin(%Iter* sret)11 declare void @plus(%Iter* sret, %Iter*, i32)28 call void @begin(%Iter* sret %temp.lvalue)31 invoke void @plus(%Iter* sret %end, %Iter* %temp.lvalue, i32 4)34 ; Uses end as sret param.39 call void @begin(%Iter* sret %beg)
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)50 ; Check that fast-isel sret works with fastcc (and does not callee-pop)54 call fastcc void @test4fastccsret(%struct.a* sret %tmp)62 declare fastcc void @test4fastccsret(%struct.a* sret)
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)168 ; The sret pointer is (%esp)172 ; The sret pointer is %ecx[all …]
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 …]
7 define void @add3i32(%i32vec3* sret %ret, %i32vec3* %ap, %i32vec3* %bp) {20 define void @add3i32_2(%i32vec3* sret %ret, %i32vec3* %ap, %i32vec3* %bp) {37 define void @add7i32(%i32vec7* sret %ret, %i32vec7* %ap, %i32vec7* %bp) {54 define void @add12i32(%i32vec12* sret %ret, %i32vec12* %ap, %i32vec12* %bp) {74 define void @add3i16(%i16vec3* nocapture sret %ret, %i16vec3* %ap, %i16vec3* %bp) nounwind {91 define void @add4i16(%i16vec4* nocapture sret %ret, %i16vec4* %ap, %i16vec4* %bp) nounwind {105 define void @add12i16(%i16vec12* nocapture sret %ret, %i16vec12* %ap, %i16vec12* %bp) nounwind {121 define void @add18i16(%i16vec18* nocapture sret %ret, %i16vec18* %ap, %i16vec18* %bp) nounwind {141 define void @add3i8(%i8vec3* nocapture sret %ret, %i8vec3* %ap, %i8vec3* %bp) nounwind {159 define void @add31i8(%i8vec31* nocapture sret %ret, %i8vec31* %ap, %i8vec31* %bp) nounwind {[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
6 ; perform sret demotion when we couldn't return the result in registers. Make12 ; Stack for call: 4(sret ptr), 16(i128 %l), 16(128 %r). So next logical13 ; (aligned) place for the actual sret data is %esp + 40.
4 define void @casin({ double, double }* sret %agg.result, double %z.0, double %z.1) nounwind {8 call void @casinh( { double, double }* sret %memtmp, double %tmp4, double %z.0 ) nounwind 21 declare void @casinh({ double, double }* sret , double, double) nounwind
9 call void @f(%struct.s1* inreg sret %tmp, i32 inreg 41, i32 inreg 42, i32 43)32 declare void @f(%struct.s1* inreg sret, i32 inreg, i32 inreg, i32)36 define void @g2(%struct.s2* inreg sret %agg.result) nounwind {
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 )
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 {
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
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()
9 define void @_Z3foov(%"class.std::auto_ptr"* noalias nocapture sret %agg.result) uwtable ssp {12 call void @_Z3barv(%"class.std::auto_ptr"* sret %temp.lvalue)23 declare void @_Z3barv(%"class.std::auto_ptr"* sret)
35 invoke void @system__img_int__image_integer(%struct.string___XUP* noalias sret null, i32 %i.0)39 …invoke void @system__string_ops__str_concat(%struct.string___XUP* noalias sret null, [0 x i8]* bit…57 declare void @system__img_int__image_integer(%struct.string___XUP* noalias sret, i32)59 declare void @system__string_ops__str_concat(%struct.string___XUP* noalias sret, [0 x i8]*, %struct…
38 ; CHECK: declare void @ParamAttr3(i8* sret)39 declare void @ParamAttr3(i8* sret)52 ; CHECK: declare void @ParamAttr10{{[(i8* sret noalias nocapture) | (i8* noalias nocapture sret)]}}53 declare void @ParamAttr10(i8* sret noalias nocapture)
3 define internal void @build_delaunay({ i32 }* sret %agg.result) {8 call void @build_delaunay( { i32 }* sret null )
3 ; CHECK: sparc only supports sret on the first parameter5 define void @foo(i32 %a, i32* sret %out) {