<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><br>
      <pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team</pre>
      Hi Tyler,<br>
      Try to build clang in 32 bit mode and run test
      test/Transforms/LoopVectorize/no_array_bounds.ll. Will it pass?<br>
      <pre class="moz-signature" cols="72">Best regards,
Alexey Bataev
=============
Software Engineer
Intel Compiler Team
Intel Corp. </pre>
      03.07.2014 6:17, Tyler Nowicki пишет:<br>
    </div>
    <blockquote
      cite="mid:%3C61828AC3-9DBD-4000-B8F4-8C82448168A4@apple.com%3E"
      type="cite">
      <pre wrap="">Hi,

Here are a pair of patches to clang and llvm that cause llvm to generate a warning when vectorization is explicitly enabled but fails to occur. For example, if the programmer wants vectorization and has specified #pragma clang loop vectorize(enable) before a loop and the loop fails to vectorize a warning will be generated.

This will improve the usefulness of the #pragma clang loop vectorize/interleave directives because it gives users feedback without having to check the Rpass diagnostics to verify vectorization has occurred.

The implementation is similar to the way remarks are generated. Clang installs a diagnostic handler into llvm to catch the warnings so it can print the line of code and carrot where vectorization failed. Also works with interleaving. We should probably also add this to unrolling for symmetry.

Let me know what you think.

Tyler

LLVM
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">

Clang
</pre>
    </blockquote>
    <br>
  </body>
</html>