From: Chris Lattner Date: Wed, 10 Aug 2005 00:48:11 +0000 (+0000) Subject: new testcase we handle X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=138268160adf9bd1c31a213ec74d1b3effb10856;p=oota-llvm.git new testcase we handle git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22741 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/LoopStrengthReduce/variable_stride.ll b/test/Transforms/LoopStrengthReduce/variable_stride.ll new file mode 100644 index 00000000000..25103bff1a0 --- /dev/null +++ b/test/Transforms/LoopStrengthReduce/variable_stride.ll @@ -0,0 +1,17 @@ +; Check that variable strides are reduced to adds instead of multiplies. +; RUN: llvm-as < %s | opt -loop-reduce | llvm-dis | not grep 'mul' + +declare bool %pred(int) + +void %test([10000 x int]* %P, int %STRIDE) { + br label %Loop +Loop: + %INDVAR = phi int [0, %0], [%INDVAR2, %Loop] + %Idx = mul int %INDVAR, %STRIDE + + %cond = call bool %pred(int %Idx) + %INDVAR2 = add int %INDVAR, 1 + br bool %cond, label %Loop, label %Out +Out: + ret void +}