[Bug debug/63722] New: Dwarf DW_AT_inline incorrect for abstract origins created for ipa-sra, ipa-split and ipa-cp
jamborm at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 3 13:28:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63722
Bug ID: 63722
Summary: Dwarf DW_AT_inline incorrect for abstract origins
created for ipa-sra, ipa-split and ipa-cp
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: jamborm at gcc dot gnu.org
Host: x86_64-linux-gnu
Target: x86_64-linux-gnu
Created attachment 33876
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33876&action=edit
Reduced testcase
gcc always sets DW_AT_inline to DW_INL_inlined when outputting debug
info of an abstract origin created for a cloned function.
The testcase has been reduced from Linux kernel, compile with;
gcc -c -O2 -g -fdump-tree-optimized b.i
You can see in the dump that drop_futex_key_refs.isra.0 has not
been inlined but the debug info says otherwise:
< 1><0x000000c5> DW_TAG_subprogram
DW_AT_name drop_futex_key_refs
DW_AT_decl_file 0x00000001 /.../b.i
DW_AT_decl_line 0x00000010
DW_AT_prototyped yes(1)
DW_AT_inline DW_INL_inlined
DW_AT_sibling <0x000000f6>
As far as I understand this is because tree_function_versioning sets
DECL_POSSIBLY_INLINED to true and then outputs the die early, even
before any inlining decisions are made.
More information about the Gcc-bugs
mailing list