; 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-upgrade < %s | llvm-as | opt -licm | llvm-dis | %prcontext add 1 | grep exit2: implementation ; Functions: int %test(bool %C1, bool %C2, int *%P, int* %Q) { Entry: br label %Loop Loop: br bool %C1, label %Cont, label %exit1 Cont: %X = load int* %P store int %X, int* %Q %V = add int %X, 1 br bool %C2, label %Loop, label %exit2 exit1: ret int 0 exit2: ret int %V }