BBVectorize: Account for internal shuffle costs
authorHal Finkel <hfinkel@anl.gov>
Thu, 1 Nov 2012 06:26:34 +0000 (06:26 +0000)
committerHal Finkel <hfinkel@anl.gov>
Thu, 1 Nov 2012 06:26:34 +0000 (06:26 +0000)
commitc89e75e93e24613fe95a72df4007dff5b97a1beb
tree19a53d7094de7e2883810b9c0c07e28df8f5eb1b
parent245296ed403ce07f8d8c514b6ca500a80492fc8c
BBVectorize: Account for internal shuffle costs

When target costs are available, use them to account for the costs of
shuffles on internal edges of the DAG of candidate pairs.

Because the shuffle costs here are currently for only the internal edges,
the current target cost model is trivial, and the chain depth requirement
is still in place, I don't yet have an easy test
case. Nevertheless, by looking at the debug output, it does seem to do the right
think to the effective "size" of each DAG of candidate pairs.

llvm-svn: 167217
llvm/lib/Transforms/Vectorize/BBVectorize.cpp