[all-commits] [llvm/llvm-project] d0858b: [DebugInfo][RemoveDIs] Maintain DPValues on skippe...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Wed Dec 6 09:25:47 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d0858bffa11e418c257b2573acbf4a3901d5dcb1
      https://github.com/llvm/llvm-project/commit/d0858bffa11e418c257b2573acbf4a3901d5dcb1
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2023-12-06 (Wed, 06 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    A llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Maintain DPValues on skipped instrs in CGP (#74602)

It turns out that CodeGenPrepare will skip over consecutive select
instructions as it knows it can optimise them all at the same time. This
is unfortunate for the RemoveDIs project to remove intrinsic-based
debug-info, because that means debug-info attached to those skipped
instructions doesn't get seen by optimizeInst and so updated. Add code
to handle debug-info on those skipped instructions manually.

This code will also have been slower when it had dbg.values stuffed in
between instructions, but with RemoveDIs it'll go faster because the
dbg.values won't break up the select sequence.




More information about the All-commits mailing list