nikic wrote: > SCEVLoopGuardRewriter only replaces operands with equivalent values But aren't the values only equivalent in the scope of the guards, while the generated expressions might potentially have a larger scope? https://github.com/llvm/llvm-project/pull/91472