[llvm] [DAGCombiner, NVPTX] Port 'rem' custom combine from NVPTX to generic combiner (PR #167147)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 10 01:24:50 PST 2025
================
@@ -900,6 +900,41 @@ namespace {
ISD::NodeType ExtType);
};
+/// Generic remainder optimization : Folds a remainder operation (A % B) by reusing the computed quotient (A / B).
+static SDValue PerformREMCombineGeneric(SDNode *N, DAGCombiner &DC,
+ CodeGenOptLevel OptLevel) {
+ assert(N->getOpcode() == ISD::SREM || N->getOpcode() == ISD::UREM);
+
+ // Don't do anything at less than -O2.
+ if (OptLevel < CodeGenOptLevel::Default)
+ return SDValue();
----------------
RKSimon wrote:
why is this necessary?
https://github.com/llvm/llvm-project/pull/167147
More information about the llvm-commits
mailing list