; This testcase checks to make sure we can sink values which are only live on ; some exits out of the loop, and that we can do so without breaking dominator ; info. ; ; RUN: llvm-as < %s | opt -licm | llvm-dis | \ ; RUN: %prcontext add 1 | grep exit2: define i32 @test(i1 %C1, i1 %C2, i32* %P, i32* %Q) { Entry: br label %Loop Loop: ; preds = %Cont, %Entry br i1 %C1, label %Cont, label %exit1 Cont: ; preds = %Loop %X = load i32* %P ; [#uses=2] store i32 %X, i32* %Q %V = add i32 %X, 1 ; [#uses=1] br i1 %C2, label %Loop, label %exit2 exit1: ; preds = %Loop ret i32 0 exit2: ; preds = %Cont ret i32 %V }