[all-commits] [llvm/llvm-project] e2549a: [DebugInfo] Fix for DW_OP_LLVM_fragment in DIExpre...

Björn Pettersson via All-commits all-commits at lists.llvm.org
Sun Nov 3 09:01:51 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e2549a0a2517514f87005a63ce4fddb1877b2307
      https://github.com/llvm/llvm-project/commit/e2549a0a2517514f87005a63ce4fddb1877b2307
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2019-11-03 (Sun, 03 Nov 2019)

  Changed paths:
    M llvm/lib/IR/DebugInfoMetadata.cpp
    A llvm/test/CodeGen/X86/dbg-value-func-arg.ll

  Log Message:
  -----------
  [DebugInfo] Fix for DW_OP_LLVM_fragment in DIExpression::isImplicit()

DIExpression::isImplicit() did not handle DW_OP_LLVM_fragment
correctly. It was scanning the elements in the expression by
iterating from the end. But we do not know the position of
ops unless we iterate from the beginning of the expression,
since DW_OP:s and their operands are stored flat in the expression
list. The old code also assumed that a DW_OP_LLVM_fragment
only occupied one element in the expression list, but it actually
occupies three elements.




More information about the All-commits mailing list