; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | %prcontext sin 1 | grep Out:

declare double @sin(double) readnone

declare void @foo()

define double @test(double %X) {
	br label %Loop

Loop:		; preds = %Loop, %0
	call void @foo( )
	%A = call double @sin( double %X ) readnone		; <double> [#uses=1]
	br i1 true, label %Loop, label %Out

Out:		; preds = %Loop
	ret double %A
}