[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