[all-commits] [llvm/llvm-project] ed5998: Revert "[SafeStack][DebugInfo] Insert DW_OP_deref ...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Thu Feb 6 06:41:51 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ed5998d21e4bdffe4baae918bc9065ae8435c49c
      https://github.com/llvm/llvm-project/commit/ed5998d21e4bdffe4baae918bc9065ae8435c49c
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2020-02-06 (Thu, 06 Feb 2020)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/test/DebugInfo/COFF/types-array-advanced.ll
    M llvm/test/DebugInfo/X86/safestack-byval.ll
    R llvm/test/DebugInfo/X86/safestack-deref.ll

  Log Message:
  -----------
  Revert "[SafeStack][DebugInfo] Insert DW_OP_deref in correct location"

This reverts commit 2d3174c4df6b5f4131346828d0a31675d80d6e2b.

The overall solution for this problem is reverting D68945, which wasn't
handling the -O0 path through the codegen backend correctly. See:
discussion in D73526.


  Commit: ece761427f63de96ee52bbd6be1c61b07967a917
      https://github.com/llvm/llvm-project/commit/ece761427f63de96ee52bbd6be1c61b07967a917
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2020-02-06 (Thu, 06 Feb 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/X86/dbg-value-func-arg.ll
    R llvm/test/DebugInfo/X86/stack-arg-deref.ll

  Log Message:
  -----------
  Revert "[DebugInfo][DAG] Distinguish different kinds of location indirection"

This reverts commit 3137fe4d23eeb8df08c03e9111465325eeafe08e.

I'm backing out D68945, which this patch is a follow up for. It'll be
re-landed when D68945 is fixed.

The changes to dbg-value-func-arg.ll occur because our handling of certain
kinds of location now mixes up indirection that happens at different points
in a DIExpression. While this is a regression, it's a return to the prior
behaviour while a better patch is sought.


  Commit: 6531a78ac4b5b229bce272706593a0bc873877d7
      https://github.com/llvm/llvm-project/commit/6531a78ac4b5b229bce272706593a0bc873877d7
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2020-02-06 (Thu, 06 Feb 2020)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/LiveDebugVariables.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/debug-cpp.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
    M llvm/test/CodeGen/ARM/debug-info-arg.ll
    M llvm/test/CodeGen/PowerPC/debuginfo-stackarg.ll
    M llvm/test/CodeGen/X86/dbg-value-func-arg.ll
    M llvm/test/DebugInfo/ARM/PR16736.ll
    M llvm/test/DebugInfo/ARM/float-stack-arg.ll
    M llvm/test/DebugInfo/COFF/pieces.ll
    M llvm/test/DebugInfo/X86/dbg-addr-dse.ll
    M llvm/test/DebugInfo/X86/dbg-addr.ll
    M llvm/test/DebugInfo/X86/live-debug-vars-dse.mir
    M llvm/test/DebugInfo/X86/op_deref.ll
    M llvm/test/DebugInfo/X86/parameters.ll
    M llvm/test/DebugInfo/X86/safestack-byval.ll
    M llvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
    M llvm/test/DebugInfo/X86/spill-nontrivial-param.ll
    M llvm/test/DebugInfo/X86/vla.ll

  Log Message:
  -----------
  Revert "[DebugInfo] Remove some users of DBG_VALUEs IsIndirect field"

This reverts commit ed29dbaafa49bb8c9039a35f768244c394411fea.

I'm backing out D68945, which as the discussion for D73526 shows, doesn't
seem to handle the -O0 path through the codegen backend correctly. I'll
reland the patch when a fix is worked out, apologies for all the churn.
The two parent commits are part of this revert too.

Conflicts:
	llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
	llvm/test/DebugInfo/X86/dbg-addr-dse.ll

SelectionDAGBuilder conflict is due to a nearby change in e39e2b4a79c6
that's technically unrelated. dbg-addr-dse.ll conflicted because
41206b61e30c (legitimately) changes the order of two lines.

There are further modifications to dbg-value-func-arg.ll: it landed after
the patch being reverted, and I've converted indirection to be represented
by the isIndirect field rather than DW_OP_deref.


Compare: https://github.com/llvm/llvm-project/compare/d6da8a1d9453...6531a78ac4b5


More information about the All-commits mailing list