search for: dw_tag_inlined_subroutine

Displaying 20 results from an estimated 42 matches for "dw_tag_inlined_subroutine".

2016 Dec 15
1
distinct DISubprograms hindering sharing inlined subprogram descriptions
...the > same as the DWARF you'd get without linking: > > > > DW_TAG_compile_unit > > DW_AT_name "inl1.cpp" > > DW_TAG_subprogram #0 > > DW_AT_name "f2" > > DW_TAG_subprogram > > DW_AT_name "c1" > > DW_TAG_inlined_subroutine > > DW_TAG_abstract_origin #0 "f2" > > DW_TAG_compile_unit > > DW_AT_name "inl2.cpp" > > DW_TAG_subprogram #1 > > DW_AT_name "f2" > > DW_TAG_subprogram > > DW_AT_name "c2" > > DW_TAG_inli...
2016 Dec 15
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...k the result. The DWARF you get is basically the same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 15
6
distinct DISubprograms hindering sharing inlined subprogram descriptions
...2() { f2(); } Compile to IR, llvm-link the result. The DWARF you get is basically the same as the DWARF you'd get without linking: DW_TAG_compile_unit DW_AT_name "inl1.cpp" DW_TAG_subprogram #0 DW_AT_name "f2" DW_TAG_subprogram DW_AT_name "c1" DW_TAG_inlined_subroutine DW_TAG_abstract_origin #0 "f2" DW_TAG_compile_unit DW_AT_name "inl2.cpp" DW_TAG_subprogram #1 DW_AT_name "f2" DW_TAG_subprogram DW_AT_name "c2" DW_TAG_inlined_subroutine DW_TAG_abstract_origin #1 "f2" Instead of someth...
2016 Dec 15
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...e result. The DWARF you get is basically the > same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 15
2
distinct DISubprograms hindering sharing inlined subprogram descriptions
...e result. The DWARF you get is basically the > same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 23
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...k the result. The DWARF you get is basically the same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 15
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...ally the >> same as the DWARF you'd get without linking: >> >> DW_TAG_compile_unit >> DW_AT_name "inl1.cpp" >> DW_TAG_subprogram #0 >> DW_AT_name "f2" >> DW_TAG_subprogram >> DW_AT_name "c1" >> DW_TAG_inlined_subroutine >> DW_TAG_abstract_origin #0 "f2" >> DW_TAG_compile_unit >> DW_AT_name "inl2.cpp" >> DW_TAG_subprogram #1 >> DW_AT_name "f2" >> DW_TAG_subprogram >> DW_AT_name "c2" >> DW_TAG_inlined_subr...
2015 Apr 06
2
[LLVMdev] "distinct" metadata nodes are ...?
...pared equal to the calling statement's source location. http://llvm.org/viewvc/llvm-project?rev=226736&view=rev is the change that caused this & has some context on why it's necessary. The issue is that the scope change of debuglocs is how we build scopes, including inline scopes (DW_TAG_inlined_subroutine). If the call site locations aren't uniqued, then two calls from the same line to the same function would have the same location and thus be the same scope - so we'd only have one DW_TAG_inlined_subroutine, instead of two. Clang worked around this for a while by putting column info on call...
2016 Dec 23
2
distinct DISubprograms hindering sharing inlined subprogram descriptions
...e result. The DWARF you get is basically the > same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 24
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...RF you'd get without linking: >>> >>> DW_TAG_compile_unit >>> DW_AT_name "inl1.cpp" >>> DW_TAG_subprogram #0 >>> DW_AT_name "f2" >>> DW_TAG_subprogram >>> DW_AT_name "c1" >>> DW_TAG_inlined_subroutine >>> DW_TAG_abstract_origin #0 "f2" >>> DW_TAG_compile_unit >>> DW_AT_name "inl2.cpp" >>> DW_TAG_subprogram #1 >>> DW_AT_name "f2" >>> DW_TAG_subprogram >>> DW_AT_name "c2" >...
2015 Apr 06
2
[LLVMdev] "distinct" metadata nodes are ...?
I'm encountering a merge issue whose root cause has to do with "distinct" metadata nodes. I see that distinct-ness is an intentional concept, but the explanation in the LLVM Language Reference is not very enlightening. distinct nodes are useful when nodes shouldn't be merged based on their content. The notion of "merged" metadata is not discussed elsewhere on
2016 Dec 15
2
distinct DISubprograms hindering sharing inlined subprogram descriptions
...2() { f2(); } Compile to IR, llvm-link the result. The DWARF you get is basically the same as the DWARF you'd get without linking: DW_TAG_compile_unit DW_AT_name "inl1.cpp" DW_TAG_subprogram #0 DW_AT_name "f2" DW_TAG_subprogram DW_AT_name "c1" DW_TAG_inlined_subroutine DW_TAG_abstract_origin #0 "f2" DW_TAG_compile_unit DW_AT_name "inl2.cpp" DW_TAG_subprogram #1 DW_AT_name "f2" DW_TAG_subprogram DW_AT_name "c2" DW_TAG_inlined_subroutine DW_TAG_abstract_origin #1 "f2" Instead of someth...
2015 Nov 18
3
RFC: Supporting all entities declared in lexical scope in LLVM debug info
...le DW_AT_name (= "x") DW_AT_type (= int) (3) DW_TAG_variable DW_AT_name (= "y") DW_AT_type (=> B) DW_AT_location (3) DW_TAG_variable DW_AT_name (= "z") DW_AT_type (= A) DW_AT_location Case (b) - There is one abstract function, one inline function (DW_TAG_inlined_subroutine) and one concrete function, each has one lexical block entry. Each entity will have a dwarf entry placed under the lexical block scope of the abstract function. Where these entries will contain all the debug info attributes for the represented entity, except for the local variable that will be mi...
2016 Dec 16
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...e result. The DWARF you get is basically the > same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 16
2
distinct DISubprograms hindering sharing inlined subprogram descriptions
...e result. The DWARF you get is basically the > same as the DWARF you'd get without linking: > > DW_TAG_compile_unit > DW_AT_name "inl1.cpp" > DW_TAG_subprogram #0 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c1" > DW_TAG_inlined_subroutine > DW_TAG_abstract_origin #0 "f2" > DW_TAG_compile_unit > DW_AT_name "inl2.cpp" > DW_TAG_subprogram #1 > DW_AT_name "f2" > DW_TAG_subprogram > DW_AT_name "c2" > DW_TAG_inlined_subroutine > DW_TAG_abstrac...
2016 Dec 16
0
distinct DISubprograms hindering sharing inlined subprogram descriptions
...ally the >> same as the DWARF you'd get without linking: >> >> DW_TAG_compile_unit >> DW_AT_name "inl1.cpp" >> DW_TAG_subprogram #0 >> DW_AT_name "f2" >> DW_TAG_subprogram >> DW_AT_name "c1" >> DW_TAG_inlined_subroutine >> DW_TAG_abstract_origin #0 "f2" >> DW_TAG_compile_unit >> DW_AT_name "inl2.cpp" >> DW_TAG_subprogram #1 >> DW_AT_name "f2" >> DW_TAG_subprogram >> DW_AT_name "c2" >> DW_TAG_inlined_subr...
2016 Jan 19
2
RFC: Supporting all entities declared in lexical scope in LLVM debug info
...quot;y") > > DW_AT_type (=> B) > > DW_AT_location > > > > (3) DW_TAG_variable > > DW_AT_name (= "z") > > DW_AT_type (= A) > > DW_AT_location > > > > > > Case (b) - There is one abstract function, one inline function > (DW_TAG_inlined_subroutine) and one concrete function, each has one > lexical block entry. > > Each entity will have a dwarf entry placed under the lexical block scope > of the abstract function. Where these entries will contain all the debug > info attributes for the represented entity, except for the local...
2017 Sep 18
1
llvm-link: Missing Dwarf DIE references
...exist when they are compiled -Onone. The llvm-link occurs without error and the subsequent compilation also seems to go fine, but when the resultant llvm-dwarfdump -verbose -verify is run I get a bunch of the following errors: warning: could not find referenced DIE in DIE: 0x0000a33f: DW_TAG_inlined_subroutine [20] * DW_AT_abstract_origin [DW_FORM_ref4] (cu + 0x0c84 => {0x0000a40d}) DW_AT_ranges [DW_FORM_sec_offset] (0x00021960 [0x0000000000001878 - 0x000000000000187c) [0x00000000000018b0 - 0x0000000000001910)...
2010 Nov 26
0
[LLVMdev] Next round of DWARF issues/questions
...ell together. Even if other optimizations are disabled, if I turn on inlining, I get null pointer errors in this piece of code in DwarfDebug::constructInlinedScopeDIE(): *if* (!Scope->getScopeNode()) *return* NULL; DIScope DS(Scope->getScopeNode()); DIE *ScopeDIE = *new* DIE(dwarf::DW_TAG_inlined_subroutine); DISubprogram InlinedSP = getDISubprogram(DS); CompileUnit *TheCU = getCompileUnit(InlinedSP); DIE *OriginDIE = TheCU->getDIE(InlinedSP); assert(OriginDIE && *"Unable to find Origin DIE!"*); addDIEEntry(ScopeDIE, dwarf::DW_AT_abstract_origin, *dwarf*::...
2019 Nov 28
2
DW_OP_implicit_pointer design/implementation in general
...ew which includes the case when temporary is promoted. For such cases it generates IR as call void @llvm.dbg.derefval(metadata i32 3, metadata !25, metadata !DIExpression(DW_OP_LLVM_explicit_pointer, DW_OP_LLVM_arg0)), !dbg !32 And llvm-darfdump output looks like ------------- 0x0000007b: DW_TAG_inlined_subroutine DW_AT_abstract_origin (0x0000004f "_Z4sinkRKi") DW_AT_low_pc (0x00000000004004c6) DW_AT_high_pc (0x00000000004004d0) DW_AT_call_file ("/home/alok/openllvm/llvm-project_derefval/build.d/david.cc")...