X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FTransforms%2FLoopStrengthReduce%2Fdifferent-type-ivs.ll;h=c24f877a5502e9547dbf281a21da5594bba1f4d7;hb=49c8f7512a37b53bf459e51241935ab4ab67ef38;hp=1383fd692f0d5c136b2f76ae15c7c05fab1a7c1e;hpb=69ccadd7535a83b348595cf603126e6a68b2883b;p=oota-llvm.git diff --git a/test/Transforms/LoopStrengthReduce/different-type-ivs.ll b/test/Transforms/LoopStrengthReduce/different-type-ivs.ll index 1383fd692f0..c24f877a550 100644 --- a/test/Transforms/LoopStrengthReduce/different-type-ivs.ll +++ b/test/Transforms/LoopStrengthReduce/different-type-ivs.ll @@ -1,26 +1,25 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -loop-reduce -disable-output +; RUN: opt < %s -loop-reduce -disable-output ; Test to make sure that loop-reduce never crashes on IV's ; with different types but identical strides. -void %foo() { +define void @foo() { entry: br label %no_exit - no_exit: ; preds = %no_exit, %entry - %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; [#uses=3] - %indvar = cast uint %indvar to short ; [#uses=1] - %X.0.0 = mul short %indvar, 1234 ; [#uses=1] - %tmp. = mul uint %indvar, 1234 ; [#uses=1] - %tmp.5 = cast short %X.0.0 to int ; [#uses=1] - %tmp.3 = call int (...)* %bar( int %tmp.5, uint %tmp. ) ; [#uses=0] - %tmp.0 = call bool %pred( ) ; [#uses=1] - %indvar.next = add uint %indvar, 1 ; [#uses=1] - br bool %tmp.0, label %return, label %no_exit - -return: + %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ] ; [#uses=3] + %indvar.upgrd.1 = trunc i32 %indvar to i16 ; [#uses=1] + %X.0.0 = mul i16 %indvar.upgrd.1, 1234 ; [#uses=1] + %tmp. = mul i32 %indvar, 1234 ; [#uses=1] + %tmp.5 = sext i16 %X.0.0 to i32 ; [#uses=1] + %tmp.3 = call i32 (...) @bar( i32 %tmp.5, i32 %tmp. ) ; [#uses=0] + %tmp.0 = call i1 @pred( ) ; [#uses=1] + %indvar.next = add i32 %indvar, 1 ; [#uses=1] + br i1 %tmp.0, label %return, label %no_exit +return: ; preds = %no_exit ret void } -declare bool %pred() +declare i1 @pred() + +declare i32 @bar(...) -declare int %bar(...)