[PATCH] support llvm.vectorization.vector_width metadata
Tobias Grosser
tobias at grosser.es
Tue May 28 21:18:10 PDT 2013
On 05/28/2013 10:58 AM, Redmond, Paul wrote:
> Hi,
>
> Attached is a new patch.
>
> - use width=1 instead of already_vectorized/disabled
> - removed disabled
> - attempted to make documentation for llvm.vectorizer.width more clear
Thanks! This is already a lot better.
"This metadata forces the loop vectorizer to widen scalar values to a
vector width of ``N`` rather than computing the width using a cost model."
Could you add the following senctence.
"The ``llvm.vectorizer.width'' metadata overwrites only the cost
heuristics of the vectorizer. To actually vectorize a loop the
vectorizer either needs to be able to prove that a loop is parallel or
the loop has to be marked with additional
``llvm.mem.parallel_loop_access'' as parallel"
> - check unroll and width are powers of two and unroll <= 16 and width <= 64
> - addressed style issues
Otherwise, my comments have been addressed.
Thanks for working on this!
Tobias
More information about the llvm-commits
mailing list