[PATCH] D75036: [DebugInfo] Describe call site values for chains of expression producing instrs

David Stenberg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 27 05:50:01 PST 2020


dstenb closed this revision.
dstenb marked an inline comment as done.
dstenb added a comment.

Oh, it seems that I missed to specify the repository for this patch. This was pushed as:

  commit 6d857166d218ccedfff3b177a4489420e3bdd603 (HEAD -> master, origin/master, origin/HEAD)
  Author: David Stenberg <david.stenberg at ericsson.com>
  Date:   Thu Feb 27 09:54:37 2020 +0100
  
      [DebugInfo] Describe call site values for chains of expression producing instrs
      
      Summary:
      If the describeLoadedValue() hook produced a DIExpression when
      describing a instruction, and it was not possible to emit a call site
      entry directly (the value operand was not an immediate nor a preserved
      register), then that described value could not be inserted into the
      worklist, and would instead be dropped, meaning that the parameter's
      call site value couldn't be described.
      
      This patch extends the worklist so that each entry has an DIExpression
      that is built up when iterating through the instructions.
      
      This allows us to describe instruction chains like this:
      
        $reg0 = mv $fp
        $reg0 = add $reg0, offset
        call @call_with_offseted_fp
      
      Since DW_OP_LLVM_entry_value operations can't be combined with any other
      expression, such call site entries will not be emitted. I have added a
      test, dbgcall-site-expr-entry-value.mir, which verifies that we don't
      assert or emit broken DWARF in such cases.
      
      Reviewers: djtodoro, aprantl, vsk
      
      Reviewed By: djtodoro, vsk
      
      Subscribers: hiraditya, llvm-commits
      
      Tags: #debug-info, #llvm
      
      Differential Revision: https://reviews.llvm.org/D75036


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75036/new/

https://reviews.llvm.org/D75036





More information about the llvm-commits mailing list