search for: insertdeclare

Displaying 10 results from an estimated 10 matches for "insertdeclare".

2018 Mar 22
2
Question about debug information for global variables
...Add GVE as debug info to BaseAddress. baseAddress->addDebugInfo(GVE); I guess I'm doing something wrong, but I cannot see what it is. Interestingly enough, when I tried a similar approach, where BaseAddress would be a function argument and logical variables would be created by means of insertDeclare, everything seems to work just fine under LLDB. I use the following code for this approach: llvm::SmallVector<uint64_t, 4> ops; llvm::DIExpression::appendOffset(ops, getOffset(logicalVariable)); auto *DIE = DIBuilder_->createExpression(ops); builder.insertDeclare(baseAddress,...
2018 Mar 22
0
Question about debug information for global variables
...ss. > baseAddress->addDebugInfo(GVE); > > I guess I'm doing something wrong, but I cannot see what it is. > > Interestingly enough, when I tried a similar approach, where > BaseAddress would be a function argument and logical variables would > be created by means of insertDeclare, everything seems to work just > fine under LLDB. I use the following code for this approach: > > llvm::SmallVector<uint64_t, 4> ops; > llvm::DIExpression::appendOffset(ops, getOffset(logicalVariable)); > auto *DIE = DIBuilder_->createExpression(ops); > builder.i...
2018 Mar 22
2
Question about debug information for global variables
...s->addDebugInfo(GVE); >> >> I guess I'm doing something wrong, but I cannot see what it is. >> >> Interestingly enough, when I tried a similar approach, where >> BaseAddress would be a function argument and logical variables would >> be created by means of insertDeclare, everything seems to work just >> fine under LLDB. I use the following code for this approach: >> >> llvm::SmallVector<uint64_t, 4> ops; >> llvm::DIExpression::appendOffset(ops, getOffset(logicalVariable)); >> auto *DIE = DIBuilder_->createExpression(ops...
2018 Mar 22
0
Question about debug information for global variables
...gt;>> >>> I guess I'm doing something wrong, but I cannot see what it is. >>> >>> Interestingly enough, when I tried a similar approach, where >>> BaseAddress would be a function argument and logical variables would >>> be created by means of insertDeclare, everything seems to work just >>> fine under LLDB. I use the following code for this approach: >>> >>> llvm::SmallVector<uint64_t, 4> ops; >>> llvm::DIExpression::appendOffset(ops, getOffset(logicalVariable)); >>> auto *DIE = DIBuilder_->cr...
2013 Aug 29
0
[LLVMdev] Allowed types llvm.dbg.declare's "storage" parameter
Hi everyone, I have a question about the llvm.dbg.declare instrinsic which I am using through DIBuilder::insertDeclare(): What kind of instructions are supported as the "storage" parameter? Is it only allocas? I've also had some success with a combination of llvm::Argument and DIBuilder::createComplexVariable(). That is, create a DIVariable with one additional OpDeref and then use DIBuilder::inser...
2018 Apr 02
0
[Dwarf] Register a local variable in DIBuilder and locate it later with a DwarfContext
...info - it uses IRBuilder, for instance. So you could look at how Clang uses the IRBuilder when compiling a small source file containing a local variable. You'll find it calls into DIBuilder (the debug info equivalent of IRBuilder) for constructing types and the location descriptions (see "insertDeclare"/insertDbgValueIntrinsic", etc.). On Sun, Apr 1, 2018 at 2:17 PM Vivien Millet via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi Paul, > How can i make this call to intrinsic from the c++ code ? > I'm not working with the IR language, but directly in C++ with &gt...
2018 Apr 01
2
[Dwarf] Register a local variable in DIBuilder and locate it later with a DwarfContext
Hi Paul, How can i make this call to intrinsic from the c++ code ? I'm not working with the IR language, but directly in C++ with IRBuilder::CreateAlloca. My goal is that one : - Generate machine code with an instance of the class 'IRBuilder' - Emit 'ObjFile' class instance with MCJIT - Create a DwarfContext instance directly from the emitted ObjFile object
2012 Aug 01
1
[LLVMdev] How to insert metadata in llvm IR?
...can use some function to insert metadata. 1. LLVM::Instruction::SetDebugLoc(...) => insert the debug info location like DILexicalBlock ,and insert !dbg appending an instruction. 2. LLVM::Instruction::setMetadata(...) => insert the metadta and !dbg appending an instruction. 3. DIBuilder::insertDeclare(...) => insert variable declare (like @llvm.dbg.declare) and metadata. 4. llvm::NamedMDNode::addOperand(...) => insert and Named Metadata. Like I can use above four function to insert metadata into bitcode. But I can't just insert a metadata. This problem is occur when I want to cre...
2009 Oct 21
1
[LLVMdev] A few more questions about DIFactory and source-level debugging.
....Module; 2 import tart.reflect.Method; 3 4 @EntryPoint 5 def main(args:String[]) -> int { 6 testModuleReflection(); 7 testModuleMethods(); 8 testFindMethod(); 9 return 0; 10 } 2) Another weird thing is that I can't seem to declare function variables that are not lvalues. The DIFactory::InsertDeclare method seems to require that the Storage parameter be the result of an alloca. However, what about function arguments that are passed by value, such as ints? 3) The same issue holds for immutable local variables. My language supports the concept of a "assign once" variable (like 'fin...
2018 Mar 23
2
Question about debug information for global variables
...t;>> I guess I'm doing something wrong, but I cannot see what it is. >>>> >>>> Interestingly enough, when I tried a similar approach, where >>>> BaseAddress would be a function argument and logical variables would >>>> be created by means of insertDeclare, everything seems to work just >>>> fine under LLDB. I use the following code for this approach: >>>> >>>> llvm::SmallVector<uint64_t, 4> ops; >>>> llvm::DIExpression::appendOffset(ops, getOffset(logicalVariable)); >>>> auto *DIE...