[LLVMbugs] [Bug 23712] New: Split of debug info in SROA triggers assertion in verifier

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun May 31 13:03:19 PDT 2015


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

            Bug ID: 23712
           Summary: Split of debug info in SROA triggers assertion in
                    verifier
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: DebugInfo
          Assignee: unassignedbugs at nondot.org
          Reporter: kai at redstar.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 14407
  --> https://llvm.org/bugs/attachment.cgi?id=14407&action=edit
File which triggers the assertion

If the attached opover2.ll is run through opt with: opt -O1 opover2.ll >x then
the following messages from the verifier occur:

piece is larger than or outside of variable
  call void @llvm.dbg.value(metadata i8* %val_arg.fca.0.extract, i64 0,
metadata
 !11, metadata !19), !dbg !18
!11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", arg: 0, scope:
!6,
 file: !4, line: 1, type: !12)
!19 = !DIExpression(DW_OP_bit_piece, 0, 64)
piece is larger than or outside of variable
  call void @llvm.dbg.value(metadata i1 (i8*)* %val_arg.fca.1.extract, i64 0,
me
tadata !11, metadata !20), !dbg !18
!11 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "val", arg: 0, scope:
!6,
 file: !4, line: 1, type: !12)
!20 = !DIExpression(DW_OP_bit_piece, 64, 64)
LLVM ERROR: Broken module found, compilation aborted!

Compiling the .ll file without optimization does not trigger these assertions.
The offending instructions are generated in SROA.cpp, line 4207.

The original source of the .ll file is in D. The lazy variable val is compiled
to a closure.

void bar(lazy bool val)
{
    val();
}

void foo()
{
    bar(false);
}

-- 
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/20150531/6248eb61/attachment.html>


More information about the llvm-bugs mailing list