[all-commits] [llvm/llvm-project] df2b9a: [DebugInfo] Avoid re-ordering assignments in LCSSA

llvmbot via All-commits all-commits at lists.llvm.org
Thu Dec 17 08:22:19 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: df2b9a3e02ca3bd7b60af6c65571909a7d3ab317
      https://github.com/llvm/llvm-project/commit/df2b9a3e02ca3bd7b60af6c65571909a7d3ab317
  Author: Nabeel Omer <nabeel.omer at sony.com>
  Date:   2020-12-17 (Thu, 17 Dec 2020)

  Changed paths:
    M llvm/lib/Transforms/Utils/LCSSA.cpp
    A llvm/test/Transforms/LCSSA/DontInsertDebugValuesForPHIs.ll
    M llvm/test/Transforms/LCSSA/basictest.ll
    M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll

  Log Message:
  -----------
  [DebugInfo] Avoid re-ordering assignments in LCSSA

The LCSSA pass makes use of a function insertDebugValuesForPHIs() to
propogate dbg.value() intrinsics to newly inserted PHI instructions. Faulty
behaviour occurs when the parent PHI of a newly inserted PHI is not the
most recent assignment to a source variable. insertDebugValuesForPHIs ends
up propagating a value that isn't the most recent assignemnt.

This change removes the call to insertDebugValuesForPHIs() from LCSSA,
preventing incorrect dbg.value intrinsics from being propagated.
Propagating variable locations between blocks will occur later, during
LiveDebugValues.

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




More information about the All-commits mailing list