[LLVMdev] setAlreadyVectorized does not delete obsolete metadata?

Renato Golin renato.golin at linaro.org
Wed Aug 13 13:30:49 PDT 2014


On 13 August 2014 21:16, Robison, Arch <arch.robison at intel.com> wrote:
> !6 and !9 are in the list for loopID !8 and they specify conflicting widths.  Is this a bug, or is there a deliberate convention that if there are multiple llvm.loop.vectorize.width annotations, only the last one counts?

It's a bug.

The vectorizer reads the metadata and writes it back with width = 1 to
stop it from being vectorized again (also avoids wasting time if it
wasn't worth it then), but it should not have two of the same and
especially not two *different* values. It could be a simple bug in the
writing back of the data, and should be simple to fix. Or it could be
that the loop was fused from two other loops with different metadata,
or inlining of code, etc, making it a bit more challenging.

Creating a bug with the appropriate sources and ways to reproduce it
is the best course of action.

Thanks!
-renato



More information about the llvm-dev mailing list