[all-commits] [llvm/llvm-project] c0f3df: [DebugInfo] Use variadic debug values to salvage B...

Stephen Tozer via All-commits all-commits at lists.llvm.org
Thu Mar 11 05:34:59 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c0f3dfb9f119bb5f22dd8846f5502b6abaf026d3
      https://github.com/llvm/llvm-project/commit/c0f3dfb9f119bb5f22dd8846f5502b6abaf026d3
  Author: gbtozers <stephen.tozer at sony.com>
  Date:   2021-03-11 (Thu, 11 Mar 2021)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Operator.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/DebugInfoMetadata.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    A llvm/test/DebugInfo/salvage-gep.ll
    A llvm/test/DebugInfo/salvage-nonconst-binop.ll
    M llvm/test/Transforms/InstCombine/debuginfo-sink.ll
    M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll

  Log Message:
  -----------
  [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands

This patch improves salvageDebugInfoImpl by allowing it to salvage arithmetic
operations with two or more non-const operands; this includes the GetElementPtr
instruction, and most Binary Operator instructions. These salvages produce
DIArgList locations and are only valid for dbg.values, as currently variadic
DIExpressions must use DW_OP_stack_value. This functionality is also only added
for salvageDebugInfoForDbgValues; other functions that directly call
salvageDebugInfoImpl (such as in ISel or Coroutine frame building) can be
updated in a later patch.

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




More information about the All-commits mailing list