[llvm] [mlir] [lldb] [mlir] Introduce replaceWithZeroTripCheck in LoopLikeOpInterface (PR #80331)

Matthias Springer via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 5 12:15:54 PST 2024


================
@@ -220,6 +220,31 @@ def LoopLikeOpInterface : OpInterface<"LoopLikeOpInterface"> {
       /*defaultImplementation=*/[{
         return ::mlir::failure();
       }]
+    >,
+    InterfaceMethod<[{
+        Add a zero-trip-check around the loop to check if the loop body is ever
+        run and return the new loop inside the check. The loop body is moved
----------------
matthias-springer wrote:

This sounds like an implementation detail. Can an implementation choose to move over the loop? I think this would be easier for `scf.for`. In that case I would just write that the returned loop could be the same loop (moved) or a new loop (and the the old loop is erased).


https://github.com/llvm/llvm-project/pull/80331


More information about the llvm-commits mailing list