[all-commits] [llvm/llvm-project] a3936a: [DebugInfo][InstrRef] Use PHI placement utilities ...
Jeremy Morse via All-commits
all-commits at lists.llvm.org
Wed Oct 13 04:51:33 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a3936a6c19c7914b86ee7a30ce95439ffb72b9c9
https://github.com/llvm/llvm-project/commit/a3936a6c19c7914b86ee7a30ce95439ffb72b9c9
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2021-10-13 (Wed, 13 Oct 2021)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/unittests/CodeGen/InstrRefLDVTest.cpp
Log Message:
-----------
[DebugInfo][InstrRef] Use PHI placement utilities for machine locations
InstrRefBasedLDV used to try and determine which values are in which
registers using a lattice approach; however this is hard to understand, and
broken in various ways. This patch replaces that approach with a standard
SSA approach using existing LLVM utilities. PHIs are placed at dominance
frontiers; value propagation then eliminates un-necessary PHIs.
This patch also adds a bunch of unit tests that should cover many of the
weirder forms of control flow.
Differential Revision: https://reviews.llvm.org/D110173
More information about the All-commits
mailing list