ΒΆllvm::Value* salvageDebugInfoImpl(
llvm::Instruction& I,
uint64_t CurrentLocOps,
SmallVectorImpl<uint64_t>& Ops,
SmallVectorImpl<llvm::Value*>&
AdditionalValues)
llvm::Value* salvageDebugInfoImpl(
llvm::Instruction& I,
uint64_t CurrentLocOps,
SmallVectorImpl<uint64_t>& Ops,
SmallVectorImpl<llvm::Value*>&
AdditionalValues)
Description
Given an instruction \p I and DIExpression \p DIExpr operating on it, append the effects of \p I to the DIExpression operand list\p Ops, or return \p nullptr if it cannot be salvaged.\p CurrentLocOps is the number of SSA values referenced by the incoming \p Ops. / I = add %a, i32 1 Return = %a Ops = llvm::dwarf::DW_OP_lit1 llvm::dwarf::DW_OP_add I = add %a, %b Return = %a Ops = llvm::dwarf::DW_OP_LLVM_arg0 llvm::dwarf::DW_OP_add AdditionalValues = %b
Declared at: llvm/include/llvm/Transforms/Utils/Local.h:315
Parameters
- llvm::Instruction& I
- uint64_t CurrentLocOps
- SmallVectorImpl<uint64_t>& Ops
- SmallVectorImpl<llvm::Value*>& AdditionalValues
Returns
the first non-constant operand implicitly referred to by Ops. If \p I references more than one non-constant operand, any additional operands are added to\p AdditionalValues.