[LLVMbugs] [Bug 15501] New: LCSSA and SSAUpdater incorrectly update dbg.value

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 12 15:41:20 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=15501

            Bug ID: 15501
           Summary: LCSSA and SSAUpdater incorrectly update dbg.value
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: atrick at apple.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 10170
  --> http://llvm.org/bugs/attachment.cgi?id=10170&action=edit
Contrived test case

clang -g -c -emit-llvm -S loop.c -O3 -mllvm -disable-llvm-optzns -o loop.ll

opt loop.ll -O3 -S -o loop-O3.ll

Notice that the dbg.value inside the loop now refers to the LCSSA value outside
the loop.

if.end2:                                          ; preds = %if.end
  %call3 = tail call i32 (...)* @bar() #2, !dbg !21
  %dec = add nsw i32 %dec5, -1, !dbg !17
  tail call void @llvm.dbg.value(metadata !{i32 %dec.lcssa}, i64 0, metadata
!12), !dbg !17
  %cmp = icmp slt i32 %dec, 0, !dbg !19
  br i1 %cmp, label %while.end, label %if.end, !dbg !19

while.end:                                        ; preds = %if.end2, %if.end,
%entry
  %dec.lcssa = phi i32 [ %dec3, %entry ], [ %dec5, %if.end ], [ %dec, %if.end2
]

llc does yield an assert, but it isn't very helpful.

Assertion failed: (TheCU && "Unable to find compile unit!"), function
beginFunction, file /Volumes/Source/fix/lib/CodeGen/AsmPrinter/DwarfDebug.cpp,
line 1362.

This is a general problem with RAUW on ValueHandle. It would be easy to fix
this test case without fixing the general problem. RAUW should *not* be called
by LCSSA or SSAUpdater.

See PR15413.

-- 
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/20130312/2d392697/attachment.html>


More information about the llvm-bugs mailing list