[llvm-bugs] [Bug 37222] New: SROA emits too small debug fragments for padded types (e.g. long double on x86)
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Apr 24 01:49:22 PDT 2018
https://bugs.llvm.org/show_bug.cgi?id=37222
Bug ID: 37222
Summary: SROA emits too small debug fragments for padded types
(e.g. long double on x86)
Product: new-bugs
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: david.stenberg at ericsson.com
CC: llvm-bugs at lists.llvm.org
Created attachment 20218
--> https://bugs.llvm.org/attachment.cgi?id=20218&action=edit
IR reproducer.
When running SROA on the attached reproducer, the pass emits 80-bit wide
fragments for the long double elements, that are aligned to 128 bits.
As the alignment is included in the long double's DW_AT_byte_size size,
the fragments should also include it.
Can be reproduced using:
$ opt -sroa -S -o - sroa.ll | grep fragment
call void @llvm.dbg.value(metadata x86_fp80 %0, metadata !28, metadata
!DIExpression(DW_OP_LLVM_fragment, 0, 80)), !dbg !32
call void @llvm.dbg.value(metadata x86_fp80 %1, metadata !28, metadata
!DIExpression(DW_OP_LLVM_fragment, 128, 80)), !dbg !32
A similar change was made to GlobalOpt in: https://reviews.llvm.org/D42807.
However, in this case I'm not sure how SROA should distinguish the cases where
you want the padding to be included in the fragment, and the cases where it
should be omitted (e.g. https://bugs.llvm.org/show_bug.cgi?id=35447).
--
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/20180424/bc982f7c/attachment-0001.html>
More information about the llvm-bugs
mailing list