[llvm-bugs] [Bug 35338] New: Clients of SelectionDAG::ReplaceAllUsesWith drop debug info, & are inconsistent

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Nov 16 16:29:55 PST 2017


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

            Bug ID: 35338
           Summary: Clients of SelectionDAG::ReplaceAllUsesWith drop debug
                    info, & are inconsistent
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: vsk at apple.com
                CC: llvm-bugs at lists.llvm.org

There are a few issues here:

- CombineTo() calls ReplaceAllUsesWith(), which calls transferDbgValues(). If
we assert that debug line/value information is preserved after the RAUW in
CombineTo(), a bunch of tests fail.

- Clients of transferDbgValues() pass it SDValues which are attached to SDNodes
with invalidated debug info. It seems unfortunate that we'd even try to
propagate invalid debug info.

- One overload of ReplaceAllUsesWith(From, To) requires From != To, but another
doesn't. This is partly annoying, but may also be masking correctness issues.

-- 
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/20171117/e78124e9/attachment.html>


More information about the llvm-bugs mailing list