search for: mrv3

Displaying 3 results from an estimated 3 matches for "mrv3".

Did you mean: mrv
2008 Jul 23
0
[LLVMdev] Structs as first class values.
...) { struct foo F; F.X = *P1; F.Y = *P2; return F; } we compile this to: %struct.foo = type { double, i64 } define %struct.foo @test(double* %P1, i64* %P2) nounwind { entry: load double* %P1, align 8 ; <double>:0 [#uses=1] load i64* %P2, align 8 ; <i64>:1 [#uses=1] %mrv3 = insertvalue %struct.foo undef, double %0, 0 ; <%struct.foo> [#uses=1] %mrv4 = insertvalue %struct.foo %mrv3, i64 %1, 1 ; <%struct.foo> [#uses=1] ret %struct.foo %mrv4 } which was previously (before first class aggregates got enabled yesterday): define %struct.foo @test(dou...
2008 Jul 23
3
[LLVMdev] Structs as first class values.
On Tuesday 22 July 2008 01:23, Chris Lattner wrote: > David, I'm not sure I follow. It is, of course, very important for us > that llvm-gcc generate ABI compliant code on x86-64. I'm just saying > that if struct-return does not provide the ABI required for a specific > source construct that another lowering would be needed. Ah, ok. I misunderstood your statement. > In
2008 Jul 31
1
[LLVMdev] Structs as first class values.
...return F; > } > > we compile this to: > > %struct.foo = type { double, i64 } > > define %struct.foo @test(double* %P1, i64* %P2) nounwind { > entry: > load double* %P1, align 8 ; <double>:0 [#uses=1] > load i64* %P2, align 8 ; <i64>:1 [#uses=1] > %mrv3 = insertvalue %struct.foo undef, double %0, 0 ; <%struct.foo> > [#uses=1] > %mrv4 = insertvalue %struct.foo %mrv3, i64 %1, 1 ; <%struct.foo> > [#uses=1] > ret %struct.foo %mrv4 > } > > which was previously (before first class aggregates got enabled > ye...