[all-commits] [llvm/llvm-project] c45e4c: [Debuginfo][LSR] Add salvaging variadic dbg.value ...

chrisjbris via All-commits all-commits at lists.llvm.org
Wed Apr 27 03:45:55 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c45e4c140f98159246a021f2e74892e54eb3df33
      https://github.com/llvm/llvm-project/commit/c45e4c140f98159246a021f2e74892e54eb3df33
  Author: Chris Jackson <chrisj at graphcore.ai>
  Date:   2022-04-27 (Wed, 27 Apr 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp

  Log Message:
  -----------
  [Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [1/2] [NFC]

First of two patches that extends SCEV-based salvaging to enable
salvaging of dbg.value instrinsics that have multiple locations ops
before the Loop Strength Reduction pass.

The existing single-op SCEV-based salvaging can generate variadic
dbg.value intrinsics in order to salvage a dbg.value that has a single
location op. If a dbg.value has multiple location ops before LSR, and
LSR optimises away one or more of the location operands, then currently
no salvaging will be attempted.

Salvaging can now be added, but first this patch cleans up consistency
in both the code and comments, and applies some refactoring to make
application of the new salvaging implementation more straightforward.

- Use SCEVDbgValueBuilder for both types of recovery expressions:
  IV-offset based and iteration count based.
- Combine the functions that write the final DIExpression.
- Move some static functions into member functions.

Reviewers: @Orlando

Differential Revision: https://reviews.llvm.org/D120168




More information about the All-commits mailing list