search for: dbg_label

Displaying 13 results from an estimated 13 matches for "dbg_label".

2018 Mar 28
7
[RFC] Generate Debug Information for Labels in Function
...of metadata, DILabel, and new intrinsic function, llvm.dbg.label, to associate DILabel with label statement. DILabel will contain name of the label, file metadata, line number, and scope metadata. Intrinsic function llvm.dbg.label uses DILabel metadata as its parameter. 2. Create MI instruction DBG_LABEL. I create new MI instruction DBG_LABEL to keep debug information after LLVM IR converted to MI. DBG_LABEL uses DILabel metadata as its parameter. 3. Create data structure, SDDbgLabel, to store debug information of labels in SelectionDAG. In SelectionDAG, we need a data structure to keep debug i...
2018 Mar 28
0
[RFC] Generate Debug Information for Labels in Function
...sic function, llvm.dbg.label, to associate DILabel with > label statement. > > DILabel will contain name of the label, file metadata, line number, > and scope metadata. > > Intrinsic function llvm.dbg.label uses DILabel metadata as its parameter. > > 2. Create MI instruction DBG_LABEL. > > I create new MI instruction DBG_LABEL to keep debug information after > LLVM IR converted to MI. > > DBG_LABEL uses DILabel metadata as its parameter. > > 3. Create data structure, SDDbgLabel, to store debug information of > labels in SelectionDAG. > > In Selectio...
2018 Mar 28
0
[RFC] Generate Debug Information for Labels in Function
...sic function, llvm.dbg.label, to associate DILabel with > label statement. > > DILabel will contain name of the label, file metadata, line number, > and scope metadata. > > Intrinsic function llvm.dbg.label uses DILabel metadata as its parameter. > > 2. Create MI instruction DBG_LABEL. > > I create new MI instruction DBG_LABEL to keep debug information after > LLVM IR converted to MI. > > DBG_LABEL uses DILabel metadata as its parameter. > > 3. Create data structure, SDDbgLabel, to store debug information of > labels in SelectionDAG. > > In Selectio...
2018 Mar 29
0
[RFC] Generate Debug Information for Labels in Function
...a flag on an IR label that marks a user-originated label and triggers the backend to create a DW_TAG_label for it. If we do need source location information for the DW_TAG_label, we could grab it from the first instruction. Let me know what you think! -- adrian > > 2. Create MI instruction DBG_LABEL. > > I create new MI instruction DBG_LABEL to keep debug information after > LLVM IR converted to MI. > > DBG_LABEL uses DILabel metadata as its parameter. > > 3. Create data structure, SDDbgLabel, to store debug information of > labels in SelectionDAG. > > In Sele...
2008 Oct 13
0
[LLVMdev] api changes in llvm 2.4
...le text search-replace in the backend's TargetLowering implementation seemed to fix this. 5) ‘struct llvm::MVT::ValueType’ has not been declared typedef uint32_t ValueType is replaced with struct llvm::MVT. A text replace cured this. 6) error: ‘LABEL’ is not a member of ‘llvm::ISD’ Split to DBG_LABEL and EH_LABEL. In our case we needed only DBG_LABEL. 7) ‘LOCATION’ is not a member of ‘llvm::ISD’ Renamed to DBG_STOPPOINT. 8) error: ‘class llvm::SDValue’ has no member named ‘Val’ SDOperand had 'Val' which can be replaced by getNode(). 9) switch(op.getOperand(1).getValueType()) does n...
2008 Oct 11
2
[LLVMdev] api changes in llvm 2.4
In the 2.3 release, we included a list of the major LLVM API changes. If you are working on upgrading your code from 2.3 to 2.4, I'd appreciate it if you could compile a list of the major stumbling blocks you have, so that others can benefit from your experience. Please send any info to the list, thanks! -Chris
2018 Mar 30
2
[RFC] Generate Debug Information for Labels in Function
...in the basic block. As Paul said, "the top instructions in a block do not necessarily have a valid source location." So, I will keep DILabel metadata and remove llvm.dbg.label intrinsic. > > Let me know what you think! > -- adrian > >> >> 2. Create MI instruction DBG_LABEL. >> >> I create new MI instruction DBG_LABEL to keep debug information after >> LLVM IR converted to MI. >> >> DBG_LABEL uses DILabel metadata as its parameter. >> >> 3. Create data structure, SDDbgLabel, to store debug information of >> labels in Sel...
2018 May 28
0
[RFC] Generate Debug Information for Labels in Function
Hello all, I am interested in this work, and have tested it a bit so far. In the latest revision, it seems to me that we do not have support in Clang (so it doesn't generate llvm.dbg.label intrinsic) and in Dwarf debug emission (so the backend doesn't generate the DW_TAG_label DIE from the DBG_LABEL Machine Instruction) yet. I attempted to implement these features, do you want me to submit the patches? Son Tuan Vu On Mon, Apr 2, 2018 at 5:37 PM, Adrian Prantl via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > > > On Apr 1, 2018, at 9:12 AM, Hsiangkai Wang <hsiangka...
2018 Apr 02
2
[RFC] Generate Debug Information for Labels in Function
> On Apr 1, 2018, at 9:12 AM, Hsiangkai Wang <hsiangkai at gmail.com> wrote: > > Hi all, > > I am sorry that I didn’t carefully think about how to handle labels in > inlined function. There is no need to apologize! Thank you very much for engaging in the discussion and for contributing you patches. > > Today, I did some simple experiments and found that some basic
2008 Dec 10
0
[LLVMdev] ARM Debug support patch
...etOperand(0).getSymbolName()); if (MI->isLabel()) return 0; - if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF) + if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF || + MI->getOpcode() == TargetInstrInfo::DECLARE) return 0; Same for ARM::DBG_LABEL. 3. + case ISD::DECLARE: { + SDValue Chain = Op.getOperand(0); + SDValue N1 = Op.getOperand(1); + SDValue N2 = Op.getOperand(2); + + if (!isa<FrameIndexSDNode>(N1)) + break; + + int FI = cast<FrameIndexSDNode>(N1)->getIndex(); Something like this will be...
2020 Oct 08
2
Notes from dbg.value coffee chat
...t;stop points", or statement markers in the instruction stream. Use Dexter or other tools to measure potential improvements in stepping behavior, consider productionizing. 3. Move all debug info intrinsics out of the instruction stream by adding a new all-powerful instruction (maybe dbg_point, dbg_label?) that essentially multiplexes one llvm::Instruction into multiple debug instructions. 4. (bonus) Old idea, low-priority: Prototype a mode that models stop points as having side effects. Start the function by escaping all non-temporary local variables. Variable values should be accurate and writabl...
2008 Dec 10
6
[LLVMdev] ARM Debug support patch
Hi all, FlexyCore, the company I am working for, use LLVM to generate binary for ARM platform. We are very fulfilled with LLVM, and FlexyCore will be pleased to contribute on this software. We need debug support in ARM binary, but, in LLVM 2.4, this support is not activated for ARM backend. Consequently, I made small modifications in order to activate it (see the patch in attach file). My
2020 Jun 17
4
[DebugInfo] RFC: Introduce LLVM DI Checker utility
Hi, I am sharing the proposal [0] which gives a brief introduction for the implementation of the LLVM DI Checker utility. On a very high level, it is a pair of LLVM (IR) Passes that check the preservation of the original debug info in the optimizations. There are options controlling the passes, that could be invoked from ``clang`` as well as from ``opt`` level. By testing the utility on the