<div dir="ltr">Hi Michael, Hal,<div><br></div><div>Sorry it has been a while since I looked at this. My memory is a little fuzzy. The intent of 'assume_safety' is to tell LAA to skip dependency checking on loads and stores so the vectorizer doesn't stop as soon as it sees both in a loop. At the time 'assume_safety' was implemented the vectorizer was limited to inner-loops. I am not up-to-date but it seems to have the ability to perform some vectorization of non-inner loop instructions?  </div><div><br></div><div>If we can vectorize non-inner loop instructions then what behavior would make the most sense: 'assume_safety' applies to the same loop scope(s) as the other loop pragmas, or it applies to all nested loops?</div><div><br></div><div>My opinion is that 

<span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">for consistency</span>

'assume_safety' and similar options apply to the same scope(s) as 'vectorize(enable)'. But I am open to alternatives if others see it differently.</div><div><br></div><div>Tyler Nowicki</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 2, 2018 at 10:44 AM Michael Kruse via Phabricator <<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Meinersbur added a comment.<br>
<br>
In <a href="https://reviews.llvm.org/D48808#1149534" rel="noreferrer" target="_blank">https://reviews.llvm.org/D48808#1149534</a>, @ABataev wrote:<br>
<br>
> I don't think that this is the intended behavior of the `#pragma clang loop`. it is better to ask the author of this pragma is this correct or not.<br>
<br>
<br>
I understand it as the intended behavior of the `assume_safety` option (also used for `#pragma omp simd`).<br>
<br>
@tyler.nowicki What is the intended behaviour?<br>
<br>
<br>
Repository:<br>
  rC Clang<br>
<br>
<a href="https://reviews.llvm.org/D48808" rel="noreferrer" target="_blank">https://reviews.llvm.org/D48808</a><br>
<br>
<br>
<br>
</blockquote></div>