Method InsertDeclare
InsertDeclare(Value, DILocalVariable, DILocation, Instruction)
Inserts an llvm.dbg.declare instruction before the given instruction
Declaration
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DILocation location, Instruction insertBefore)
Parameters
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DILocation location, Instruction insertBefore)
Value | storage | Value the declaration is bound to |
DILocalVariable | varInfo | DILocalVariable for |
DILocation | location | DILocationfor the variable |
Instruction | insertBefore | Instruction to insert the declaration before |
Returns
CallInstruction | CallInstruction for the call to llvm.dbg.declare |
Remarks
This adds a call to the llvm.dbg.declare intrinsic. The call has no impact on the actual machine code generated, as it is removed or ignored for actual target instruction selection. Instead this provides a means to bind the LLVM Debug information metadata to a particular LLVM Value that allows the transformation and optimization passes to track the debug information. Thus, even with optimized code the actual debug information is retained.
See Also
InsertDeclare(Value, DILocalVariable, DIExpression, DILocation, Instruction)
Inserts an llvm.dbg.declare instruction before the given instruction
Declaration
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DIExpression expression, DILocation location, Instruction insertBefore)
Parameters
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DIExpression expression, DILocation location, Instruction insertBefore)
Value | storage | Value the declaration is bound to |
DILocalVariable | varInfo | DILocalVariable for |
DIExpression | expression | DIExpression for a debugger to use when extracting the value |
DILocation | location | DILocationfor the variable |
Instruction | insertBefore | Instruction to insert the declaration before |
Returns
CallInstruction | CallInstruction for the call to llvm.dbg.declare |
Remarks
This adds a call to the llvm.dbg.declare intrinsic. The call has no impact on the actual machine code generated, as it is removed or ignored for actual target instruction selection. Instead this provides a means to bind the LLVM Debug information metadata to a particular LLVM Value that allows the transformation and optimization passes to track the debug information. Thus, even with optimized code the actual debug information is retained.
See Also
InsertDeclare(Value, DILocalVariable, DILocation, BasicBlock)
Inserts an llvm.dbg.declare instruction before the given instruction
Declaration
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DILocation location, BasicBlock insertAtEnd)
Parameters
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DILocation location, BasicBlock insertAtEnd)
Value | storage | Value the declaration is bound to |
DILocalVariable | varInfo | DILocalVariable for |
DILocation | location | DILocationfor the variable |
BasicBlock | insertAtEnd | BasicBlock to insert the declaration at the end of |
Returns
CallInstruction | CallInstruction for the call to llvm.dbg.declare |
Remarks
This adds a call to the llvm.dbg.declare intrinsic. The call has no impact on the actual machine code generated, as it is removed or ignored for actual target instruction selection. Instead this provides a means to bind the LLVM Debug information metadata to a particular LLVM Value that allows the transformation and optimization passes to track the debug information. Thus, even with optimized code the actual debug information is retained.
See Also
InsertDeclare(Value, DILocalVariable, DIExpression, DILocation, BasicBlock)
Inserts an llvm.dbg.declare instruction before the given instruction
Declaration
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DIExpression expression, DILocation location, BasicBlock insertAtEnd)
Parameters
public CallInstruction InsertDeclare(Value storage, DILocalVariable varInfo, DIExpression expression, DILocation location, BasicBlock insertAtEnd)
Value | storage | Value the declaration is bound to |
DILocalVariable | varInfo | DILocalVariable for |
DIExpression | expression | DIExpression for a debugger to use when extracting the value |
DILocation | location | DILocationfor the variable |
BasicBlock | insertAtEnd | BasicBlock to insert the declaration at the end of |
Returns
CallInstruction | CallInstruction for the call to llvm.dbg.declare |
Remarks
This adds a call to the llvm.dbg.declare intrinsic.
note
The call has no impact on the actual machine code generated, as it is removed or ignored for actual target instruction selection. Instead this provides a means to bind the LLVM Debug information metadata to a particular LLVM Value that allows the transformation and optimization passes to track the debug information. Thus, even with optimized code the actual debug information is retained.