<div dir="ltr">Hi.<div><br></div><div>I faced that "<span style="background-color:rgb(250,250,250);color:rgb(72,72,72);font-size:12px">llvm.vectorizer.enable" metadata used by Loop Vectorizer and set by OpenMP pragmas are killed after the "Rotate Loop" pass. The branch containing the metadata is replaced with another one, but without any metadata. </span></div>
<div><span style="background-color:rgb(250,250,250);color:rgb(72,72,72);font-size:12px">So "Loop Vectorizer" doesn't force vectorization of this loop.</span></div><div><span style="background-color:rgb(250,250,250);color:rgb(72,72,72);font-size:12px"><br>
</span></div><div><span style="background-color:rgb(250,250,250);color:rgb(72,72,72);font-size:12px">I can fix it of course by propagating the metadata to the new branch from the old one, but there's no guarantee that some other pass will not kill at again.</span></div>
<div><span style="background-color:rgb(250,250,250);color:rgb(72,72,72);font-size:12px"><br></span></div><div><font color="#484848"><span style="font-size:12px;background-color:rgb(250,250,250)">May be we need more reliable way for setting metadata for such cases?</span></font></div>
<div><font color="#484848"><span style="font-size:12px;background-color:rgb(250,250,250)"><br></span></font></div><div><font color="#484848"><span style="font-size:12px;background-color:rgb(250,250,250)">- Zinovy.</span></font></div>
</div>