[all-commits] [llvm/llvm-project] e09758: [DebugInfo][RemoveDIs] Instrument jump-threading t...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Thu Nov 23 09:07:24 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e09758224b65bfa30f1d9e5082f03abeeb610964
      https://github.com/llvm/llvm-project/commit/e09758224b65bfa30f1d9e5082f03abeeb610964
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/SSAUpdater.cpp
    M llvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
    M llvm/test/Transforms/JumpThreading/thread-debug-info.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Instrument jump-threading to update DPValues (#73127)

This patch makes jump-threading handle non-instruction debug-info stored
in DPValues in the same way that it updates dbg.values nowadays. This
involves re-targetting their operands as with dbg.values getting moved
from one block to another, and manually cloning them when duplicating
blocks. The SSAUpdater class also grows some functions for SSA-updating
DPValues in the same way as dbg.values.

All of this is largely covered by existing debug-info tests, except for
the cloning of DPValues attached to elidable instructions and branches,
where I've added a test to thread-debug-info.ll. Where previously we
could rely on dbg.values being copied and cloned as normal instructions
are, as we need to explicitly perform that operation now I've added some
explicit testing for it.




More information about the All-commits mailing list