AZero13 wrote: Oh yeah, instead of DAG.ReplaceAllUsesWith(IsdNode, &CmpOp);, it's a bit more idiomatic in LLVM to use SDValue explicitly for 1-to-1 value replacements to avoid the pointer: DAG.ReplaceAllUsesOfValueWith(SDValue(IsdNode, 0), CmpOp). https://github.com/llvm/llvm-project/pull/210546