[all-commits] [llvm/llvm-project] c703d7: [DebugInfo][InstrRef] Don't fully propagate single...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Mon Jan 31 04:55:07 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c703d77a61ac73402bb024558ea39326d17d25c5
      https://github.com/llvm/llvm-project/commit/c703d77a61ac73402bb024558ea39326d17d25c5
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2022-01-31 (Mon, 31 Jan 2022)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
    A llvm/test/DebugInfo/MIR/InstrRef/single-assign-propagation.mir

  Log Message:
  -----------
  [DebugInfo][InstrRef] Don't fully propagate single assigned variables

If we only assign a variable value a single time, we can take a short-cut
when computing its location: the variable value is only valid up to the
dominance frontier of where the assignemnt happens. Past that point, there
are other predecessors from where the variable has no value, meaning the
variable has no location past that point.

This patch recognises this scenario, and avoids expensive SSA computation,
to improve compile-time performance.

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




More information about the All-commits mailing list