[LLVMdev] setAlreadyVectorized does not delete obsolete metadata?
Renato Golin
renato.golin at linaro.org
Wed Aug 13 15:13:07 PDT 2014
Thanks!
On 13 August 2014 23:00, Robison, Arch <arch.robison at intel.com> wrote:
> Filed as Bugzilla 20655, with a .ll source file and instructions for reproducing it.
>
> - Arch
>
> -----Original Message-----
> From: Renato Golin [mailto:renato.golin at linaro.org]
> Sent: Wednesday, August 13, 2014 3:31 PM
> To: Robison, Arch
> Cc: llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] setAlreadyVectorized does not delete obsolete metadata?
>
> 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