ΒΆ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.