[llvm] [LV] Add initial legality checks for loops with unbound loads. (PR #152422)

Shih-Po Hung via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 3 01:17:47 PDT 2025


================
@@ -195,9 +196,12 @@ loop.end:
     assert(Header->getName() == "loop");
     Loop *L = LI.getLoopFor(Header);
 
-    return isDereferenceableReadOnlyLoop(L, &SE, &DT, &AC);
+    return isReadOnlyLoop(L, &SE, &DT, &AC, &NonDerefLoads);
   };
 
-  ASSERT_TRUE(IsDerefReadOnlyLoop(F1));
-  ASSERT_FALSE(IsDerefReadOnlyLoop(F2));
+  SmallVector<LoadInst *, 4> NonDerefLoads;
+  ASSERT_TRUE(IsLoadOnlyFaultingLoop(F1, NonDerefLoads));
+  ASSERT_TRUE(NonDerefLoads.empty());
+  ASSERT_TRUE(IsLoadOnlyFaultingLoop(F2, NonDerefLoads));
+  ASSERT_TRUE(NonDerefLoads[0]->getName() == "ld1");
----------------
arcbbb wrote:

Fixed. Thanks!

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


More information about the llvm-commits mailing list