[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