[llvm-bugs] [Bug 27273] New: Missing Verifier check for debug info intrinsics that precede their SSA operands

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Apr 7 17:31:18 PDT 2016


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

            Bug ID: 27273
           Summary: Missing Verifier check for debug info intrinsics that
                    precede their SSA operands
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Core LLVM classes
          Assignee: unassignedbugs at nondot.org
          Reporter: dexonsmith at apple.com
                CC: aprantl at apple.com, llvm-bugs at lists.llvm.org
    Classification: Unclassified

r265631, reverted in r265637, uncovered a bug in -reassociate that breaks the
order of @llvm.dbg.value instructions compared to the SSA values they
reference.

The current Verifier check doesn't look through the
MetadataAsValue/LocalAsMetadata operands that debug info intrinsics use, such
as `metadata i32 %x` in:
--
call void @llvm.dbg.value(metadata i32 %x, ...)
%x = add i32 0, %arg
--

As a result, we need a hack in llvm::MapMetadata to return `!{}` instead of
`null` when RF_IgnoreMissingLocals is turned off to prevent a crash in
llvm::RemapInstruction.

We should add a verifier check; fix the bugs; write an upgrade to drop invalid
instructions and commit the verifier check; and then fix llvm::MapMetadata to
ignore RF_IgnoreMissingLocals (as r265631 tried to do).

There's a more complete write-up of the issue on llvm-commits (in the reply to
r265631):

  http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160404/345617.html

For now I'm going to push forward with a modified version of r265631 that
documents what's going on.  I'll add a comment with the revision.

-- 
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/20160408/d2a73c12/attachment.html>


More information about the llvm-bugs mailing list