[llvm] Make RAUW skip instances where operand is the replacement node (PR #212724)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 29 02:28:13 PDT 2026


================
@@ -13307,6 +13301,18 @@ void SelectionDAG::ReplaceAllUsesOfValueWith(SDValue From, SDValue To){
   RAUWUpdateListener Listener(*this, UI, UE);
   while (UI != UE) {
     SDNode *User = UI->getUser();
+    
+    // Don't replace uses of the To node if is is self-referential.
----------------
arsenm wrote:

This is illegal, it's a DAG. There shouldn't be any self referential nodes 

https://github.com/llvm/llvm-project/pull/212724


More information about the llvm-commits mailing list