[llvm-bugs] [Bug 28475] New: When clang fails to vectorize a loop, it should be more descriptive/helpful about why not

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jul 8 15:26:27 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28475

            Bug ID: 28475
           Summary: When clang fails to vectorize a loop, it should be
                    more descriptive/helpful about why not
           Product: new-bugs
           Version: trunk
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: sean at rogue-research.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

With the -Rpass=loop-vectorize -Rpass-missed=loop-vectorize
-Rpass-analysis=loop-vectorize flags, clang will output if it vectorized a
loop, or why not.

But its 'why not' diagnostics could be improved, especially for mere mortal
developers (non compiler developers).

Consider Microsoft's Visual Studio, which can also output why it failed to
vectorize:

https://blogs.msdn.microsoft.com/nativeconcurrency/2012/05/22/auto-vectorizer-in-visual-studio-2012-did-it-work/

example output:

c:\source.cpp(5) : loop not vectorized due to reason ‘1200’

A numeric reason code is also not ideal, but they at least provide a nice
document explaining each code with examples:

https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/04/99/3007.Auto-Vectorizer-08-Cookbook.pdf

and with a video:

http://media.ch9.ms/ch9/6b08/3e1ca59d-4ec7-461b-92d2-694bb2626b08/AutoVectorizerDidItWorkMovie_high.mp4

Basically, Clang is behind the competition here. :)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160708/f10df38a/attachment.html>


More information about the llvm-bugs mailing list