[llvm-bugs] [Bug 31401] New: LoopVectorizer: audit use of SetCurrentDebugLocation

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 15 16:26:09 PST 2016


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

            Bug ID: 31401
           Summary: LoopVectorizer: audit use of SetCurrentDebugLocation
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Loop Optimizer
          Assignee: unassignedbugs at nondot.org
          Reporter: paul_robinson at playstation.sony.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

IRBuilder::SetInsertPoint calls IRBuilder::SetCurrentDebugLocation.
So, if you use both APIs, and call SetCurrentDebugLocation first, 
your attempt to set the debug location explicitly has just been 
overridden.

I was able to audit most of LLVM's use of SetCurrentDebugLocation,
except for LoopVectorizer.cpp.  This module is large and complicated
and uses both APIs, but generally not in places that are obviously
related.

There is one place in InnerLoopVectorizer::vectorizeLoop() that looks
very suspicious even to me, calling the helper setDebugLocFromInst
right before Builder.SetInsertPoint; but in most cases the calls are 
not near each other and I was not able to work out whether things are
really okay.

So, I would like somebody familiar with the module to take a look
and see whether anything looks suspicious.

-- 
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/20161216/4c5901f0/attachment.html>


More information about the llvm-bugs mailing list