Method InsertValue
InsertValue(Value, DILocalVariable, DILocation, Instruction)
Inserts a debug record before the specified instruction
public DebugRecord InsertValue(Value value, DILocalVariable varInfo, DILocation location, Instruction insertBefore)
Parameters
value
ValueNew value
varInfo
DILocalVariableDILocalVariable describing the variable
location
DILocationDILocationfor the assignment
insertBefore
InstructionLocation to insert the intrinsic
Returns
- DebugRecord
CallInstruction for the intrinsic
Remarks
This intrinsic provides information when a user source variable is set to a new value.
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.
- See Also
InsertValue(Value, DILocalVariable, DIExpression?, DILocation, Instruction)
Inserts a call to the llvm.dbg.value intrinsic before the specified instruction
public DebugRecord InsertValue(Value value, DILocalVariable varInfo, DIExpression? expression, DILocation location, Instruction insertBefore)
Parameters
value
ValueNew value
varInfo
DILocalVariableDILocalVariable describing the variable
expression
DIExpressionDIExpression for the variable
location
DILocationDILocationfor the assignment
insertBefore
InstructionLocation to insert the intrinsic
Returns
- DebugRecord
CallInstruction for the intrinsic
Remarks
This intrinsic provides information when a user source variable is set to a new value.
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.
- See Also
InsertValue(Value, DILocalVariable, DILocation, BasicBlock)
Inserts a call to the llvm.dbg.value intrinsic at the end of a basic block
public DebugRecord InsertValue(Value value, DILocalVariable varInfo, DILocation location, BasicBlock insertAtEnd)
Parameters
value
ValueNew value
varInfo
DILocalVariableDILocalVariable describing the variable
location
DILocationDILocationfor the assignment
insertAtEnd
BasicBlockBlock to append the intrinsic to the end of
Returns
- DebugRecord
The debug record
Remarks
This intrinsic provides information when a user source variable is set to a new value.
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.
- See Also
InsertValue(Value, DILocalVariable, DIExpression?, DILocation, BasicBlock)
Inserts a DebugRecord at the end of a basic block
public DebugRecord InsertValue(Value value, DILocalVariable varInfo, DIExpression? expression, DILocation location, BasicBlock insertAtEnd)
Parameters
value
ValueNew value
varInfo
DILocalVariableDILocalVariable describing the variable
expression
DIExpressionDIExpression for the variable
location
DILocationDILocationfor the assignment
insertAtEnd
BasicBlockBlock to append the intrinsic to the end of
Returns
- DebugRecord
The Debug record
Remarks
This intrinsic provides information when a user source variable is set to a new value.
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.
- See Also