[llvm] [LoopInterchange] Don't consider loops with BTC=0 (PR #167113)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 10 05:01:34 PST 2025


================
@@ -101,6 +101,12 @@ static cl::opt<unsigned int> MaxLoopNestDepth(
     "loop-interchange-max-loop-nest-depth", cl::init(10), cl::Hidden,
     cl::desc("Maximum depth of loop nest considered for the transform"));
 
+// This is mainly for testing purposes, and certain tests that rely on
+// behaviour that is more difficult to trigger otherwise.
+static cl::opt<bool> SkipLoopsWithZeroBTC(
+    "loop-interchange-skip-zero-btc", cl::init(true), cl::Hidden,
+    cl::desc("Do not consider loops with a backedge taken count of 0"));
----------------
fhahn wrote:

Oh I see, so there are a few tests with BTC = 0? if so, they should be updated to have a non-zero BTC, but this needs more than simply adjusting the exit check?

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


More information about the llvm-commits mailing list