similar to: Should DISubprogram's scope be allowed to be null?

Displaying 20 results from an estimated 2000 matches similar to: "Should DISubprogram's scope be allowed to be null?"

2016 Jan 15
2
Should DISubprogram's scope be allowed to be null?
> On 2016-Jan-15, at 06:46, Keno Fischer <kfischer at college.harvard.edu> wrote: > > Looking at this again, I think I was under the mistaken impression that the DISubprogram's scope would have to be the compile unit, but it seems we also currently allow it to be a DIFile (or any other kind of scope). In that case, I suppose the behavior that the backend expects is that every
2016 Jan 18
3
Should DISubprogram's scope be allowed to be null?
On Fri, Jan 15, 2016 at 11:24 AM, David Blaikie <dblaikie at gmail.com> wrote: > Diego: To include line/col info for backend diagnostics, we produced debug > info but omitted the llvm.dbg.cu entry, right? So there are subprogram > debug info descriptions that are not referenced from a CU in llvm.dbg.cu, > yes? > Yes, that and for sample PGO. Omitting llvm.dbg.cu prevents
2020 Sep 25
2
Why does a DISubprogram need to be distinct?
I saw https://reviews.llvm.org/rGe17f52d623cc146b7d9bf5a2e02965043508b4c4#949392 "Add a verifier check that rejects non-distinct DISubprogram function" (which has currently be reverted) today which made me wonder why a DISubprogram needs to be distinct? David told me the following and encouraged me to ask in the upstream: > May be historical at this point, I'm not quite sure. (I
2018 Jan 12
2
StripDeadDebugInfo for static inline functions.
Hi Paul, Thanks for your response. Let me actually post more details visualizing my case. Assuming that can help. so the IR before the opt tool is running is: ; Function Attrs: nounwind define i16 @main() #0 !dbg !13 { entry: %retval = alloca i16, align 1 ... } ; Function Attrs: inlinehint nounwind define internal void @delay(i16 %d) #4 !dbg !69 { entry: %d.addr = alloca i16,
2018 Jan 12
0
StripDeadDebugInfo for static inline functions.
I'm not as familiar with all the ins and outs of metadata as maybe I should be, but ultimately the inlined function should have a DWARF description contained within the description of the caller (which is why you're seeing the call to constructAbstractSubprogramScopeDIE). That suggests that the DISubprogram for the inlined function ought to remain, and its scope should be the
2018 Jan 12
2
StripDeadDebugInfo for static inline functions.
Hi all, I would like to understand the strip-dead-debug-info transformation. In my test case there is a static inline function with two local variables. It appears that the function is already inlined before strip-dead-debug-info starts its work. As a result the DICompileUnit is cleaned and its subprograms list has no reference to the DISubprogram for the inlined function, but as there is
2018 Jan 12
2
StripDeadDebugInfo for static inline functions.
Hi Arsen, we are beyond what I understand about how metadata operates. Maybe Adrian or David knows. --paulr From: Arsen Hakobyan [mailto:hakobyan.ars at gmail.com] Sent: Friday, January 12, 2018 12:16 PM To: Robinson, Paul Cc: llvm-dev at lists.llvm.org; David Blaikie Subject: Re: [llvm-dev] StripDeadDebugInfo for static inline functions. Just one update: the function causing the segmentation
2017 May 03
3
Should it be legal for two functions to have the same !dbg attachment?
I just wrote an IR Verifier check that catches the following situation: ; RUN: not llvm-as %s -disable-output 2>&1 | FileCheck %s define void @f1() !dbg !4 { unreachable } ; CHECK: DISubprogram attached to more than one function define void @f2() !dbg !4 { unreachable } !llvm.dbg.cu = !{!1} !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2) !2
2018 Jan 12
0
StripDeadDebugInfo for static inline functions.
Just one update: the function causing the segmentation fault is the following: 359 void DwarfDebug::constructAbstractSubprogramScopeDIE(LexicalScope *Scope) { 360 assert(Scope && Scope->getScopeNode()); 361 assert(Scope->isAbstractScope()); 362 assert(!Scope->getInlinedAt()); 363 364 const MDNode *SP = Scope->getScopeNode(); 365 366
2018 Jan 15
1
StripDeadDebugInfo for static inline functions.
+ Adrian + David Hi Arsen, This sounds like a bug to me. Have you tried reproducing it on trunk? For instance, I see that the relation between DICompileUnit and DISubprogram was changed in the meantime (https://reviews.llvm.org/D19034 <https://reviews.llvm.org/D19034>). If this no longer occurs on master you could bisect the compiler to find the commit(s) that fix this and consider
2018 Jan 14
0
StripDeadDebugInfo for static inline functions.
Thanks Paul, Hi Adrian and David I would really appreciate any comments, thoughts assumptions. If additional information is needed please let me know. Regards, Arsen On Sat, Jan 13, 2018 at 2:54 AM, Robinson, Paul <paul.robinson at sony.com> wrote: > Hi Arsen, we are beyond what I understand about how metadata operates. > Maybe Adrian or David knows. > > --paulr > >
2020 Sep 25
3
Why does a DISubprogram need to be distinct?
On Fri, Sep 25, 2020 at 4:08 PM Adrian Prantl <aprantl at apple.com> wrote: > > First — thanks for fixing the test for me! I'm a bit curious about the test - any idea how it came to be, if it's invalid? Did we produce such bitcode in the past and don't anymore - what's the rule about backwards compatibility here, then? It seems like any time we regenerate a bitcode
2016 Mar 23
0
[RFC] Lazy-loading of debug info metadata
On Tue, Mar 22, 2016 at 7:28 PM, Duncan P. N. Exon Smith < dexonsmith at apple.com> wrote: > I have some ideas to allow the BitcodeReader to lazy-load debug info > metadata, and wanted to air this on llvm-dev before getting too deep > into the code. > > Motivation > ========== > > Based on some analysis Mehdi ran (ping him for details), there are three > (related)
2016 Mar 23
2
[RFC] Lazy-loading of debug info metadata
> On 2016-Mar-23, at 07:17, Teresa Johnson <tejohnson at google.com> wrote: > > > > On Tue, Mar 22, 2016 at 7:28 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: > I have some ideas to allow the BitcodeReader to lazy-load debug info > metadata, and wanted to air this on llvm-dev before getting too deep > into the code. > > Motivation >
2010 Aug 31
5
[LLVMdev] More DIFactory questions
Here are some issues that I am unclear about. What would be great is if the answers could be incorporated into the comments and documentation for DIFactory and DebugInfo.h: 1) What types of DIScope are valid arguments for DebugLoc::get()? The method takes an MDNode* argument, so looking at the function signature is no help. For example, DIFile is a subtype of DIScope, however looking at
2016 Mar 23
0
[RFC] Lazy-loading of debug info metadata
On Wed, Mar 23, 2016 at 9:31 AM, Duncan P. N. Exon Smith < dexonsmith at apple.com> wrote: > > > On 2016-Mar-23, at 07:17, Teresa Johnson <tejohnson at google.com> wrote: > > > > > > > > On Tue, Mar 22, 2016 at 7:28 PM, Duncan P. N. Exon Smith < > dexonsmith at apple.com> wrote: > > I have some ideas to allow the BitcodeReader to
2016 Mar 23
1
[RFC] Lazy-loading of debug info metadata
> On 2016-Mar-23, at 09:42, Teresa Johnson <tejohnson at google.com> wrote: > > > > On Wed, Mar 23, 2016 at 9:31 AM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: > > > On 2016-Mar-23, at 07:17, Teresa Johnson <tejohnson at google.com> wrote: > > > > > > > > On Tue, Mar 22, 2016 at 7:28 PM, Duncan P. N. Exon Smith
2017 Jun 20
2
CloneFunctionInto produces invalid debug info
I was just going to say: With well-formed debug info it should create a deep copy up until the DISubprogram, but no further. But because the DISubprogram linked to the Function is missing the special handling of the DISubprogram (that would prohibit cloning the DICompileUnit is side-stepped). But then I remembered the discussion we had in
2015 Sep 01
2
RFC: DI: Stop preserving types from dead functions
Way back in r107027, we started preserving type information of local variables of functions that are optimized away. This seemed strange to me so I dug into the history: apparently, this is so that ctfconvert can find these types (so they can be exposed in dtrace). E.g., this commit made it so that for this C code: static void foo(void) { struct X { int b; } v; } we always get the type
2018 Jul 30
2
ThinLTO Bug ?
On Mon, Jul 30, 2018 at 6:52 AM <paul.robinson at sony.com> wrote: > > > > > -----Original Message----- > > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Xin > > Tong via llvm-dev > > Sent: Friday, July 27, 2018 9:33 PM > > To: llvm-dev > > Subject: [llvm-dev] ThinLTO Bug ? > > > > Hi > > > > I