search for: getdie

Displaying 20 results from an estimated 26 matches for "getdie".

2013 Nov 15
1
[LLVMdev] DebugInfo: LTO Metadata Size reduction by removing some cycles
>From a thread with Adrian on llvm-commits I looked a little at cases where DwarfCompileUnit's getOrCreateContextDIE's "fallback to return the CU" didn't fire when a CU DIE was required (ie: when the "getDIE" call actually found the CU before the fallback happened) This seems unnecessary, and any case where we do this (where a metadata node has a non-null context DIE pointing to the CU) is just wasted space. By ensuring we always use null to refer to the CU we'll reduce cycles and metadata no...
2013 Oct 05
2
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...ost of it is from r176882, but instead of always using an integer for ref_addr, we use label + offset for relocation on non-darwin platforms. The second patch is a modified version of r191792. The main change is to use a single map instead of 3 maps in DwarfDebug and instead of calling DwarfDebug::getDIE|insertDIE directly, we delegate the function calls to DwarfDebug from CompileUnit. No testing case is added in the 1st patch, since the compiler does not use ref_addr yet. For the 2nd patch, testing cases are updated to make sure we remove duplicated DIEs and use ref_addr to refer to the type DIE...
2013 Oct 09
2
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...arfCompileUnit.cpp: the "istype || issubprogram" check should probably be pulled out into a separate function, something like "isShareableAcrossCUs" or something like that (please, that's not the best name, let's discuss it further before we settle on a name) so that getDIE and insertDIE are sure to use the same test at all times. Why does addDIEEntry take a form? When does the caller get to choose the form rather than the callee deciding between ref4 and ref_addr based on context? I'm still unsure about this worklist thing - do your current tests cover the ne...
2013 Oct 09
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...> the "istype || issubprogram" check should probably be pulled out into > a separate function, something like "isShareableAcrossCUs" or something > like that (please, that's not the best name, let's discuss it further > before we settle on a name) so that getDIE and insertDIE are sure to use > the same test at all times. > Yes, the condition is shared between getDIE and insertDIE. I like isSharableAcrossCUs, because that is why the map is in DwarfDebug instead of CompileUnit. > Why does addDIEEntry take a form? When does the caller get to choo...
2013 Oct 10
4
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
..."istype || issubprogram" check should probably be pulled out into >> a separate function, something like "isShareableAcrossCUs" or something >> like that (please, that's not the best name, let's discuss it further >> before we settle on a name) so that getDIE and insertDIE are sure to use >> the same test at all times. >> > Yes, the condition is shared between getDIE and insertDIE. I like > isSharableAcrossCUs, because that is why the map is in DwarfDebug instead > of CompileUnit. > Done in attached patch. > > >>...
2013 Oct 09
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...2, but instead of always using an integer for > ref_addr, we use label + offset for relocation on non-darwin platforms. > > The second patch is a modified version of r191792. > The main change is to use a single map instead of 3 maps in DwarfDebug and > instead of calling DwarfDebug::getDIE|insertDIE directly, we delegate the > function calls to DwarfDebug from CompileUnit. > > No testing case is added in the 1st patch, since the compiler does not use > ref_addr yet. > > For the 2nd patch, testing cases are updated to make sure we remove > duplicated DIEs and use...
2013 Oct 11
2
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...ogram" check should probably be pulled out >>>> into a separate function, something like "isShareableAcrossCUs" or >>>> something like that (please, that's not the best name, let's discuss it >>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>> to use the same test at all times. >>>> >>> Yes, the condition is shared between getDIE and insertDIE. I like >>> isSharableAcrossCUs, because that is why the map is in DwarfDebug instead >>> of CompileUnit. >>>...
2013 Oct 11
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...e || issubprogram" check should probably be pulled out >>> into a separate function, something like "isShareableAcrossCUs" or >>> something like that (please, that's not the best name, let's discuss it >>> further before we settle on a name) so that getDIE and insertDIE are sure >>> to use the same test at all times. >>> >> Yes, the condition is shared between getDIE and insertDIE. I like >> isSharableAcrossCUs, because that is why the map is in DwarfDebug instead >> of CompileUnit. >> > Done in attached p...
2013 Mar 09
1
[LLVMdev] Question about abstract subprograms in debug info
Hi, I am working on an issue where a subprogram created here is having abstract_origin pointing to nowhere. DIE *DwarfDebug::updateSubprogramScopeDIE(CompileUnit *SPCU, const MDNode *SPNode) { DIE *SPDie = SPCU->getDIE(SPNode); assert(SPDie && "Unable to find subprogram DIE!"); DISubprogram SP(SPNode); // If we're updating an abstract DIE, then we will be adding the children and // object pointer later on. But what we don't want to do is process the // concrete DIE twice. i...
2013 Oct 15
2
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...ogram" check should probably be pulled out >>>> into a separate function, something like "isShareableAcrossCUs" or >>>> something like that (please, that's not the best name, let's discuss it >>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>> to use the same test at all times. >>>> >>> Yes, the condition is shared between getDIE and insertDIE. I like >>> isSharableAcrossCUs, because that is why the map is in DwarfDebug instead >>> of CompileUnit. >>>...
2013 Oct 15
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...e || issubprogram" check should probably be pulled out >>> into a separate function, something like "isShareableAcrossCUs" or >>> something like that (please, that's not the best name, let's discuss it >>> further before we settle on a name) so that getDIE and insertDIE are sure >>> to use the same test at all times. >>> >> Yes, the condition is shared between getDIE and insertDIE. I like >> isSharableAcrossCUs, because that is why the map is in DwarfDebug instead >> of CompileUnit. >> > Done in attached p...
2013 Oct 15
4
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...probably be pulled out >>>>>> into a separate function, something like "isShareableAcrossCUs" or >>>>>> something like that (please, that's not the best name, let's discuss it >>>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>>> to use the same test at all times. >>>>>> >>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>> isSharableAcrossCUs, because that is why the map is in DwarfDebug instead >>&...
2013 Oct 15
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...check should probably be pulled out >>>>> into a separate function, something like "isShareableAcrossCUs" or >>>>> something like that (please, that's not the best name, let's discuss it >>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>> to use the same test at all times. >>>>> >>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>> isSharableAcrossCUs, because that is why the map is in DwarfDebug instead >>>> of Compi...
2013 Oct 15
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...pulled out >>>>>>> into a separate function, something like "isShareableAcrossCUs" or >>>>>>> something like that (please, that's not the best name, let's discuss it >>>>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>>>> to use the same test at all times. >>>>>>> >>>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>>> isSharableAcrossCUs, because that is why the map is in DwarfDebug i...
2013 Oct 15
1
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...>>>>>>>> into a separate function, something like "isShareableAcrossCUs" or something >>>>>>>> like that (please, that's not the best name, let's discuss it further before >>>>>>>> we settle on a name) so that getDIE and insertDIE are sure to use the same >>>>>>>> test at all times. >>>>>>> >>>>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>>>> isSharableAcrossCUs, because that is why the map is in...
2010 Nov 26
0
[LLVMdev] Next round of DWARF issues/questions
...edScopeDIE(): *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*::DW_FORM_ref4, OriginDIE); What's happening is that InlinedSP.DbgNode is NULL, which causes getCompileUnit() to assert. Note that th...
2013 Oct 15
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...pulled out >>>>>>> into a separate function, something like "isShareableAcrossCUs" or >>>>>>> something like that (please, that's not the best name, let's discuss it >>>>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>>>> to use the same test at all times. >>>>>>> >>>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>>> isSharableAcrossCUs, because that is why the map is in DwarfDebug i...
2013 Oct 15
2
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...>>>>>>> out into a separate function, something like "isShareableAcrossCUs" or >>>>>>>> something like that (please, that's not the best name, let's discuss it >>>>>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>>>>> to use the same test at all times. >>>>>>>> >>>>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>>>> isSharableAcrossCUs, because that is why the map is...
2013 Oct 15
0
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...>>>>> out into a separate function, something like "isShareableAcrossCUs" or >>>>>>>>> something like that (please, that's not the best name, let's discuss it >>>>>>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>>>>>> to use the same test at all times. >>>>>>>>> >>>>>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>>>>> isSharableAcrossCUs, because that i...
2013 Oct 15
4
[LLVMdev] [Debug Info PATCH] for support of ref_addr and removal of DIE duplication
...>>> out into a separate function, something like "isShareableAcrossCUs" or >>>>>>>>>> something like that (please, that's not the best name, let's discuss it >>>>>>>>>> further before we settle on a name) so that getDIE and insertDIE are sure >>>>>>>>>> to use the same test at all times. >>>>>>>>>> >>>>>>>>> Yes, the condition is shared between getDIE and insertDIE. I like >>>>>>>>> isSharableAcrossCUs...