search for: diloc

Displaying 20 results from an estimated 154 matches for "diloc".

Did you mean: dieloc
2017 Jun 19
2
LLVM behavior different depending on function symbol name
...cope: !17, file: !17, line: 46, type: !18, isLocal: false, isDefinition: true, scopeLine: 46, isOptimized: true, unit: !1, variables: !20) !17 = !DIFile(filename: "test.zig", directory: "/home/andy/dev/zig/build") !18 = !DISubroutineType(types: !19) !19 = !{!15} !20 = !{} !21 = !DILocation(line: 47, column: 16, scope: !22) !22 = distinct !DILexicalBlock(scope: !16, file: !17, line: 46, column: 29) !23 = !DILocation(line: 47, column: 36, scope: !22) !24 = !DILocation(line: 47, column: 27, scope: !22) !25 = !DILocation(line: 47, column: 5, scope: !22) !26 = distinct !DISubprogram(...
2017 Jun 19
2
LLVM behavior different depending on function symbol name
...lse, isDefinition: true, scopeLine: 46, >> isOptimized: true, unit: !1, variables: !20) >> !17 = !DIFile(filename: "test.zig", directory: "/home/andy/dev/zig/build") >> !18 = !DISubroutineType(types: !19) >> !19 = !{!15} >> !20 = !{} >> !21 = !DILocation(line: 47, column: 16, scope: !22) >> !22 = distinct !DILexicalBlock(scope: !16, file: !17, line: 46, column: >> 29) >> !23 = !DILocation(line: 47, column: 36, scope: !22) >> !24 = !DILocation(line: 47, column: 27, scope: !22) >> !25 = !DILocation(line: 47, column:...
2017 Jun 19
4
LLVM behavior different depending on function symbol name
Greetings, I have a Zig implementation of ceil which is emitted into LLVM IR like this: ; Function Attrs: nobuiltin nounwind define internal fastcc float @ceil(float) unnamed_addr #3 !dbg !644 { Entry: %x = alloca float, align 4 store float %0, float* %x call void @llvm.dbg.declare(metadata float* %x, metadata !649, metadata !494), !dbg !651 %1 = load float, float* %x, !dbg !652 %2 =
2020 Sep 10
2
LSR breaks debug info
...PHI-node and then adjusting DIExpressions if they match with an offset. Any thoughts on that? -Markus --- *** IR Dump After Canonicalize Freeze Instructions in Loops *** ; Preheader: entry: call void @llvm.dbg.value(metadata i8* %p, metadata <0x111daf20>, metadata !DIExpression()), !dbg !DILocation(line: 0, scope: <0x111d4030>) call void @llvm.dbg.value(metadata i8 0, metadata <0x111dcb00>, metadata !DIExpression()), !dbg !DILocation(line: 0, scope: <0x111dc650>) br label %for.body, !dbg !DILocation(line: 3, column: 3, scope: <0x111dc650>) ; Loop: for.body:...
2017 Sep 16
2
assertion triggered since update to llvm 5
...n: true, isOptimized: true, unit: !1, variables: !21) !17 = !DIFile(filename: "test.zig", directory: "/home/andy/dev/zig/build-llvm5-debug") !18 = !DISubroutineType(types: !19) !19 = !{!20} !20 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned) !21 = !{!22} !22 = !DILocalVariable(name: "bytes", scope: !23, file: !17, line: 2, type: !24) !23 = distinct !DILexicalBlock(scope: !16, file: !17, line: 1, column: 19) !24 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: 128, align: 64, elements: !25) !25 = !{!26, !29} !26 = !DIDerived...
2017 Sep 17
2
assertion triggered since update to llvm 5
...!17 = !DIFile(filename: "test.zig", directory: >> "/home/andy/dev/zig/build-llvm5-debug") >> !18 = !DISubroutineType(types: !19) >> !19 = !{!20} >> !20 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned) >> !21 = !{!22} >> !22 = !DILocalVariable(name: "bytes", scope: !23, file: !17, line: 2, >> type: !24) >> !23 = distinct !DILexicalBlock(scope: !16, file: !17, line: 1, column: 19) >> !24 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", size: >> 128, align: 64, elements: !25...
2015 Aug 06
2
[LLVMdev] DebugInfo from LLVM Instruction
Hi all, I used to extract the debug information from an LLVM Instruction in the following way: if (MDNode *N = I->getMetadata("dbg")) { // Here I is an LLVM instruction DILocation Loc(N); // DILocation is in DebugInfo.h unsigned Line = Loc.getLineNumber(); StringRef File = Loc.getFilename(); StringRef Dir = Loc.getDirectory(); } As specified also at http://llvm.org/docs/SourceLevelDebugging.html <http://llvm.org/docs/SourceLevelDebugging.h...
2017 Sep 17
4
assertion triggered since update to llvm 5
...rectory: >>>> "/home/andy/dev/zig/build-llvm5-debug") >>>> !18 = !DISubroutineType(types: !19) >>>> !19 = !{!20} >>>> !20 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned) >>>> !21 = !{!22} >>>> !22 = !DILocalVariable(name: "bytes", scope: !23, file: !17, line: 2, >>>> type: !24) >>>> !23 = distinct !DILexicalBlock(scope: !16, file: !17, line: 1, column: >>>> 19) >>>> !24 = !DICompositeType(tag: DW_TAG_structure_type, name: "[]u8", siz...
2017 Sep 17
2
assertion triggered since update to llvm 5
...;> "/home/andy/dev/zig/build-llvm5-debug") >>>>> !18 = !DISubroutineType(types: !19) >>>>> !19 = !{!20} >>>>> !20 = !DIBasicType(name: "void", encoding: DW_ATE_unsigned) >>>>> !21 = !{!22} >>>>> !22 = !DILocalVariable(name: "bytes", scope: !23, file: !17, line: 2, >>>>> type: !24) >>>>> !23 = distinct !DILexicalBlock(scope: !16, file: !17, line: 1, column: >>>>> 19) >>>>> !24 = !DICompositeType(tag: DW_TAG_structure_type, name: &quot...
2019 Jan 19
2
What does "preds" mean in a .ll file?
Hi, I see things like this. What does it mean? Is it documented somewhere? Thanks. ; preds = %for.body https://llvm.org/docs/LangRef.html ; <label>:91: ; preds = %88 %92 = load i8**, i8*** @glob_complete_word.matches, align 8, !dbg !99798 %93 = load i32, i32* @glob_complete_word.ind, align 4, !dbg !99799 %94 = sext i32 %93 to i64, !dbg !99798
2016 Mar 23
2
[RFC] Lazy-loading of debug info metadata
...in the dest module during linking? > > > c) Emitting unnecessary `DI*` instances (that aren't relevant to code). > > Here is my recollection of some peak memory stats on a small testcase > during thin-LTO, which should be a decent indicator of (b): > > - ~150MB: DILocation > - ~100MB: DISubprogram > - ~70MB: DILocalVariable > - ~50MB: (cumulative) DIType descendents > > It looks, suprisingly, like types are not the primary bottleneck. > > There are caveats: > > - `DISubprogram` declarations -- member function descriptors --...
2017 May 03
3
Should it be legal for two functions to have the same !dbg attachment?
...ticed that the new check causes the cloning unit test to fail: When CloneFunction clones a function into the same module, it will not create a deep copy of the function's debug info. Before I start fixing this (which is a bit of work, because we will need to re-parent all of the function's DILocations into the cloned DISubprogram) I wanted to get everyone's opinion on whether this is the right approach. tl;dr: Basically, when invoking CloneFunctionInto on: define void @f() !dbg !3 { ret void, !dbg !4 } define void @f_clone() !llvm.dbg.cu = !{!1} !1 = distinct !DICompi...
2009 Sep 11
0
[LLVMdev] [proposal] Extensible IR metadata
I've got a suggestion for a refinement: Right now, we have classes like DILocation that wrap an MDNode* to provide more convenient access to it. It would be more convenient for users if instead of MDNode *DbgInfo = Inst->getMD(MDKind::DbgTag); Inst2->setMD(MDKind::DbgTag, DbgInfo); they could write: DILocation DbgInfo = Inst->getMD<DILocation>(); in...
2018 Mar 30
0
[RFC] Generate Debug Information for Labels in Function
...ic. > > https://reviews.llvm.org/D45078 In this revised design it is now possible to attach a DILabel to a BasicBlock. When the basic block is inlined it will be ambiguous to which function the DILabel belongs. For instructions, we store the inline information in the inlinedAt: field of its DILocation. In order to handle inlining for DILabels we have two options: 1. Also attach a DILocation to be associated with the label to carry the inline information, and teach the inliner to correctly update the DILocation on basic blocks during inlining. This would also solve the issue of hypothetic...
2016 Mar 23
1
[RFC] Lazy-loading of debug info metadata
...> > > > > > c) Emitting unnecessary `DI*` instances (that aren't relevant to code). > > > > Here is my recollection of some peak memory stats on a small testcase > > during thin-LTO, which should be a decent indicator of (b): > > > > - ~150MB: DILocation > > - ~100MB: DISubprogram > > - ~70MB: DILocalVariable > > - ~50MB: (cumulative) DIType descendents > > > > It looks, suprisingly, like types are not the primary bottleneck. > > > > There are caveats: > > > > - `DISubprogram` decla...
2017 Oct 01
2
load with alignment of 1 crashes from being unaligned
...DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned_char) !71 = !DIDerivedType(tag: DW_TAG_member, name: "len", scope: !66, baseType: !72, size: 64, align: 64, offset: 64) !72 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned) !73 = !{!74} !74 = !DILocalVariable(name: "msg", arg: 1, scope: !60, file: !61, line: 47, type: !66) !75 = !DIExpression() !76 = !DILocation(line: 47, column: 14, scope: !60) !77 = !DILocation(line: 47, column: 45, scope: !78) !78 = distinct !DILexicalBlock(scope: !79, file: !61, line: 47, column: 43) !79 = distin...
2016 Mar 23
0
[RFC] Lazy-loading of debug info metadata
...> > > > > > c) Emitting unnecessary `DI*` instances (that aren't relevant to code). > > > > Here is my recollection of some peak memory stats on a small testcase > > during thin-LTO, which should be a decent indicator of (b): > > > > - ~150MB: DILocation > > - ~100MB: DISubprogram > > - ~70MB: DILocalVariable > > - ~50MB: (cumulative) DIType descendents > > > > It looks, suprisingly, like types are not the primary bottleneck. > > > > There are caveats: > > > > - `DISubprogram` decla...
2018 Sep 19
2
Obtaining the origin function for a local var after inlining
...e of times, but > > never got an answer) > > > > Hi folks, > > > > For [K]MSAN we need to figure out which inlined function a local var > > originally belonged to in the source file. > > If you are looking at a llvm.dbg.declar/value/addr intrinsic, then the DILocation attached to the intrinsic indirectly points there: > > DIScope *Scope = DILocation(dbg_intrinsic.getDebugLoc()).getScope(); > while (!isa<DISubprogram>(Scope)) > Scope = Scope->getScope(); > auto *origFunction = cast<DIFunction>(Scope); This works, thank...
2018 Sep 25
1
Obtaining the origin function for a local var after inlining
...t;> > >>> Hi folks, > >>> > >>> For [K]MSAN we need to figure out which inlined function a local var > >>> originally belonged to in the source file. > >> > >> If you are looking at a llvm.dbg.declar/value/addr intrinsic, then the DILocation attached to the intrinsic indirectly points there: > >> > >> DIScope *Scope = DILocation(dbg_intrinsic.getDebugLoc()).getScope(); > >> while (!isa<DISubprogram>(Scope)) > >> Scope = Scope->getScope(); > >> auto *origFunction = cast&lt...
2010 Jul 07
2
[LLVMdev] source line number for instruction
Hi, I found the following at http://llvm.org/docs/SourceLevelDebugging.html#ccxx_frontend: if (MDNode *N = I->getMetadata("dbg")) { // Here I is an LLVM instruction DILocation Loc(N); // DILocation is in DebugInfo.h unsigned Line = Loc.getLineNumber(); StringRef File = Loc.getFilename(); StringRef Dir = Loc.getDirectory(); } Does this also work for release 2.7? I did not see the same thing at the documentation for release 2.7. T...