[Assignment Tracking] Downgrade dbg.assigns to dbg.values in mem2reg
authorOCHyams <orlando.hyams@sony.com>
Tue, 21 Mar 2023 09:14:42 +0000 (09:14 +0000)
committerOCHyams <orlando.hyams@sony.com>
Tue, 21 Mar 2023 09:50:36 +0000 (09:50 +0000)
commit5d17ae2d5d1ab482058b345eaa138125e21b7087
tree66737ea8bf2897be28cb973b0eb547d3cf20adc1
parent090205fb57a1ca65bec6fada32232c2e975d0c48
[Assignment Tracking] Downgrade dbg.assigns to dbg.values in mem2reg

For fully promoted variables dbg.assigns and dbg.values convey the same
information and can be used interchangeably. This patch converts dbg.assigns to
dbg.values for variables promoted by mem2reg. This reduces resource usage by
reducing the amount of unnecessary function local metadata. The compile time
tracker reports that CTMark projects build with LTO-O3-g with 0.4% fewer
instructions retired and peak memory usage is reduced by 2.2%.

Reviewed By: jryans

Differential Revision: https://reviews.llvm.org/D145511
15 files changed:
llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/phi.ll
llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-block-alloca.ll
llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-store-alloca.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-1.ll
llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll