; RUN: llvm-upgrade < %s | llvm-as | opt -loop-extract -disable-output ; This testcase is failing the loop extractor because not all exit blocks ; are dominated by all of the live-outs. implementation ; Functions: int %ab(int %alpha, int %beta) { entry: br label %loopentry.1.preheader loopentry.1.preheader: ; preds = %then.1 br label %loopentry.1 loopentry.1: ; preds = %loopentry.1.preheader, %no_exit.1 br bool false, label %no_exit.1, label %loopexit.0.loopexit1 no_exit.1: ; preds = %loopentry.1 %tmp.53 = load int* null ; [#uses=1] br bool false, label %shortcirc_next.2, label %loopentry.1 shortcirc_next.2: ; preds = %no_exit.1 %tmp.563 = call int %wins( int 0, int %tmp.53, int 3 ) ; [#uses=0] ret int 0 loopexit.0.loopexit1: ; preds = %loopentry.1 br label %loopexit.0 loopexit.0: ; preds = %loopexit.0.loopexit, %loopexit.0.loopexit1 ret int 0 } declare int %wins(int, int, int) declare ushort %ab_code()