[Mlir-commits] [mlir] [mlir][memref][nfc] push early-exit to earlier (PR #140730)

Javed Absar llvmlistbot at llvm.org
Tue May 20 06:19:28 PDT 2025


https://github.com/javedabsar1 created https://github.com/llvm/llvm-project/pull/140730

None

>From c3c32295130bd4b0b241afbb432e90468536ec03 Mon Sep 17 00:00:00 2001
From: Javed Absar <javed.absar at gmail.com>
Date: Tue, 20 May 2025 09:18:06 -0400
Subject: [PATCH] [mlir][memref][nfc] push early-exit to earlier

---
 mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp b/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
index 7f45904fab7e1..d78de25f3e0ff 100644
--- a/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
+++ b/mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
@@ -1711,6 +1711,10 @@ struct ViewOpLowering : public ConvertOpToLLVMPattern<memref::ViewOp> {
     MemRefDescriptor sourceMemRef(adaptor.getSource());
     auto targetMemRef = MemRefDescriptor::poison(rewriter, loc, targetDescTy);
 
+    // Early exit for 0-D corner case.
+    if (viewMemRefType.getRank() == 0)
+      return rewriter.replaceOp(viewOp, {targetMemRef}), success();
+
     // Field 1: Copy the allocated pointer, used for malloc/free.
     Value allocatedPtr = sourceMemRef.allocatedPtr(rewriter, loc);
     auto srcMemRefType = cast<MemRefType>(viewOp.getSource().getType());
@@ -1733,10 +1737,6 @@ struct ViewOpLowering : public ConvertOpToLLVMPattern<memref::ViewOp> {
         rewriter, loc,
         createIndexAttrConstant(rewriter, loc, indexType, offset));
 
-    // Early exit for 0-D corner case.
-    if (viewMemRefType.getRank() == 0)
-      return rewriter.replaceOp(viewOp, {targetMemRef}), success();
-
     // Fields 4 and 5: Update sizes and strides.
     Value stride = nullptr, nextSize = nullptr;
     for (int i = viewMemRefType.getRank() - 1; i >= 0; --i) {



More information about the Mlir-commits mailing list