; RUN: llc < %s

; On this code, llc did not pass the sixth argument (%reg321) to printf.
; It passed the first five in %o0 - %o4, but never initialized %o5.
@.LC12 = internal global [44 x i8] c"\09\09M = %g, I = %g, V = %g\0A\09\09O = %g, E = %g\0A\0A\00"		; <[44 x i8]*> [#uses=1]

declare i32 @printf(i8*, ...)

declare double @opaque(double)

define i32 @main(i32 %argc, i8** %argv) {
bb25:
	%b = icmp sle i32 %argc, 2		; <i1> [#uses=1]
	br i1 %b, label %bb42, label %bb43

bb42:		; preds = %bb25
	%reg315 = call double @opaque( double 3.000000e+00 )		; <double> [#uses=1]
	%reg316 = call double @opaque( double 3.100000e+00 )		; <double> [#uses=1]
	%reg317 = call double @opaque( double 3.200000e+00 )		; <double> [#uses=1]
	%reg318 = call double @opaque( double 3.300000e+00 )		; <double> [#uses=1]
	%reg319 = call double @opaque( double 3.400000e+00 )		; <double> [#uses=1]
	br label %bb43

bb43:		; preds = %bb42, %bb25
	%reg321 = phi double [ 2.000000e-01, %bb25 ], [ %reg315, %bb42 ]		; <double> [#uses=1]
	%reg322 = phi double [ 6.000000e+00, %bb25 ], [ %reg316, %bb42 ]		; <double> [#uses=1]
	%reg323 = phi double [ -1.000000e+00, %bb25 ], [ %reg317, %bb42 ]		; <double> [#uses=1]
	%reg324 = phi double [ -1.000000e+00, %bb25 ], [ %reg318, %bb42 ]		; <double> [#uses=1]
	%reg325 = phi double [ 1.000000e+00, %bb25 ], [ %reg319, %bb42 ]		; <double> [#uses=1]
	%reg609 = call i32 (i8*, ...) @printf( i8* getelementptr ([44 x i8], [44 x i8]* @.LC12, i64 0, i64 0), double %reg325, double %reg324, double %reg323, double %reg322, double %reg321 )		; <i32> [#uses=0]
	ret i32 0
}
