aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2025-10-10 10:58:58 +0200
committerGitHub <noreply@github.com>2025-10-10 10:58:58 +0200
commit6c2781e187b7a1e9a90f76009352c9f63fef4642 (patch)
treeb4b557e10ec67ababc1d9ecbe96bf3d4913e8d84 /lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
parentc32753a77a724244bfac60405390a14c93fd92fa (diff)
downloadllvm-6c2781e187b7a1e9a90f76009352c9f63fef4642.zip
llvm-6c2781e187b7a1e9a90f76009352c9f63fef4642.tar.gz
llvm-6c2781e187b7a1e9a90f76009352c9f63fef4642.tar.bz2
[GVN] Share equality propagation for assume and condition (#161639)
GVN currently has two different implementation of equality propagation. One of them is used for branch conditions (dominating an edge), which performs replacements across multiple blocks. This is also used for assumes to handle uses outside the current block. However, uses inside the block are handled using a completely separate implementation, which involves populating a replacement map and then checking it for individual instructions during normal GVN. While this approach generally makes sense, it is kind of pointless if we already do a use walk to handle the cross-block case anyway. This PR generalizes propagateEquality() to accept either a BasicBlockEdge or an Instruction* and replace dominated users. This removes the need for special handling of uses in the same block for assumes, as they're covered by instruction dominance, and ensures that both implementations do not go out of sync.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h')
0 files changed, 0 insertions, 0 deletions