LoopVectorizer: Pass OperandValueKind information to the cost model
authorArnold Schwaighofer <aschwaighofer@apple.com>
Thu, 4 Apr 2013 23:26:27 +0000 (23:26 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Thu, 4 Apr 2013 23:26:27 +0000 (23:26 +0000)
commitac2cc0170f7d13e7c2e87f7728c99a6d07876f5c
treec8c91bf2476b062b63eb713094261014c5cdebec
parent2537f3c6597bc1b8eb14c76c8f8e7046be41c9ba
LoopVectorizer: Pass OperandValueKind information to the cost model

Pass down the fact that an operand is going to be a vector of constants.

This should bring the performance of MultiSource/Benchmarks/PAQ8p/paq8p on x86
back. It had degraded to scalar performance due to my pervious shift cost change
that made all shifts expensive on x86.

radar://13576547

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178809 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/X86/constant-vector-operand.ll [new file with mode: 0644]