3311d56536823301cf2c1fd957e2ddeae2bc7742
[oota-llvm.git] / test / Transforms / Inline / 2008-03-04-StructRet.ll
1 ; RUN: opt < %s -inline -disable-output
2         %struct.Benchmark = type { i32 (...)** }
3         %struct.Complex = type { double, double }
4         %struct.ComplexBenchmark = type { %struct.Benchmark }
5
6 define %struct.Complex @_Zml7ComplexS_1(double %a.0, double %a.1, double %b.0, double %b.1) nounwind  {
7 entry:
8         %mrv = alloca %struct.Complex           ; <%struct.Complex*> [#uses=2]
9         %mrv.gep = getelementptr %struct.Complex* %mrv, i32 0, i32 0            ; <double*> [#uses=1]
10         %mrv.ld = load double* %mrv.gep         ; <double> [#uses=1]
11         %mrv.gep1 = getelementptr %struct.Complex* %mrv, i32 0, i32 1           ; <double*> [#uses=1]
12         %mrv.ld2 = load double* %mrv.gep1               ; <double> [#uses=1]
13         ret double %mrv.ld, double %mrv.ld2
14 }
15
16 define void @_ZNK16ComplexBenchmark9oop_styleEv(%struct.ComplexBenchmark* %this) nounwind  {
17 entry:
18         %tmp = alloca %struct.Complex           ; <%struct.Complex*> [#uses=0]
19         br label %bb31
20 bb:             ; preds = %bb31
21         call %struct.Complex @_Zml7ComplexS_1( double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00 ) nounwind            ; <%struct.Complex>:0 [#uses=1]
22         %gr = getresult %struct.Complex %0, 1           ; <double> [#uses=0]
23         br label %bb31
24 bb31:           ; preds = %bb, %entry
25         br i1 false, label %bb, label %return
26 return:         ; preds = %bb31
27         ret void
28 }