Table of Contents

Method InsertValue

Namespace
Ubiquity.NET.Llvm.DebugInfo
Assembly
Ubiquity.NET.Llvm.dll

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 Value

New value

varInfo DILocalVariable

DILocalVariable describing the variable

location DILocation

DILocationfor the assignment

insertBefore Instruction

Location 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 Value

New value

varInfo DILocalVariable

DILocalVariable describing the variable

expression DIExpression

DIExpression for the variable

location DILocation

DILocationfor the assignment

insertBefore Instruction

Location 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 Value

New value

varInfo DILocalVariable

DILocalVariable describing the variable

location DILocation

DILocationfor the assignment

insertAtEnd BasicBlock

Block 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 Value

New value

varInfo DILocalVariable

DILocalVariable describing the variable

expression DIExpression

DIExpression for the variable

location DILocation

DILocationfor the assignment

insertAtEnd BasicBlock

Block 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