================
@@ -543,6 +543,22 @@ MlirLogicalResult 
mlirConversionPatternRewriterConvertRegionTypes(
                                                    *unwrap(typeConverter)));
 }
 
+void mlirConversionPatternRewriterReplaceOpWithMultiple(
+    MlirConversionPatternRewriter rewriter, MlirOperation op, intptr_t nRanges,
+    intptr_t *rangeSizes, MlirValue *values) {
+  SmallVector<SmallVector<Value>> ranges;
+  ranges.reserve(nRanges);
+  MlirValue *cur = values;
+  for (intptr_t i = 0; i < nRanges; ++i) {
+    SmallVector<Value> range;
+    range.reserve(rangeSizes[i]);
+    for (intptr_t j = 0; j < rangeSizes[i]; ++j, ++cur)
----------------
jpienaar wrote:

Avoid calculating the end size unless rangeSizes change 
(https://llvm.org/docs/CodingStandards.html#don-t-evaluate-end-every-time-through-a-loop)

https://github.com/llvm/llvm-project/pull/208935
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to