[llvm] [SelectionDAG][X86] Fold `sub(x, mul(divrem(x,y)[0], y))` to `divrem(x, y)[1]` (PR #136565)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 22 03:51:01 PDT 2025
================
@@ -3867,6 +3867,61 @@ static SDValue foldSubCtlzNot(SDNode *N, SelectionDAG &DAG) {
return Matcher.getNode(ISD::CTLZ_ZERO_UNDEF, DL, VT, Not);
}
+// Fold sub(x, mul(divrem(x,y)[0], y)) to divrem(x, y)[1]
+static SDValue foldRemainderIdiom(SDNode *N, SelectionDAG &DAG, SDLoc &DL) {
----------------
RKSimon wrote:
`const SDLoc &DL`
https://github.com/llvm/llvm-project/pull/136565
More information about the llvm-commits
mailing list