This patch (2/N) stems from D69787
It is suggested by @aprantl
Summary:
New dwarf operator DW_OP_LLVM_implicit_pointer is introduced (present only in LLVM IR)
This is needed ecause representation and specification (types of operands) of it a bit different that actual dwarf expression DW_OP_LLVM_implicit_pointer. while creating actual dwarf info it will be converted to DW_OP_LLVM_implicit_pointer.
Testing:
- llvm-as, llvm-dis
- check-llvm
- check-debuginfo (the debug info integration tests)
IMHO, "variable represented by first operand" should become something like "the DILocalVariable referred to by the instructions value/address operand". This would make it clear that we're referring to a metadata node, and that the "first operand" is of the containing debug intrinsic, not a dwarf operators operand.