[all-commits] [llvm/llvm-project] 96b6bb: [DAGCombiner] Loop unfreeze step in visitFREEZE fr...
lijinpei-amd via All-commits
all-commits at lists.llvm.org
Thu May 28 08:18:03 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 96b6bb78aa04c489fcd95e844a74bbcc64f8a2ef
https://github.com/llvm/llvm-project/commit/96b6bb78aa04c489fcd95e844a74bbcc64f8a2ef
Author: lijinpei-amd <jinpli at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AMDGPU/freeze-other-uses-issue-198094.ll
Log Message:
-----------
[DAGCombiner] Loop unfreeze step in visitFREEZE freezeOtherUses (#200120)
The first ReplaceAllUsesOfValueWith in visitFREEZE's freezeOtherUses
block can leave users of N behind: when the inner RAUW cascade
encounters a freeze user whose hash collides post-mutation, the
recursive merge prepends new freeze users to N's use-list that the outer
iterator deliberately skips (PR3018 invariant). Those leftover users
then collide with the self-cycle the next RAUW step creates, firing
"Node is not in map!" in RemoveNodeFromCSEMaps.
Wrap the unfreeze in a convergence loop so all such prepended users are
drained before the second RAUW. Each iteration strictly shrinks N's
use-set, bounded by the depth of the freeze chain.
Fixes #198094
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list