[clang] [llvm] [LV][NFC] Rename PreferPredicateOverEpilogue to PreferTailFolding (PR #191803)

Luke Lau via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 13 07:20:54 PDT 2026


================
@@ -205,36 +205,34 @@ static cl::opt<bool> ForceTargetSupportsMaskedMemoryOps(
     cl::desc("Assume the target supports masked memory operations (used for "
              "testing)."));
 
-// Option prefer-predicate-over-epilogue indicates that an epilogue is undesired,
-// that predication is preferred, and this lists all options. I.e., the
-// vectorizer will try to fold the tail-loop (epilogue) into the vector body
-// and predicate the instructions accordingly. If tail-folding fails, there are
-// different fallback strategies depending on these values:
-namespace PreferPredicateTy {
-  enum Option {
-    ScalarEpilogue = 0,
-    PredicateElseScalarEpilogue,
-    PredicateOrDontVectorize
-  };
-} // namespace PreferPredicateTy
+// Option prefer-tail-folding indicates that an epilogue is undesired, that
+// tail folding is preferred, and this lists all options. I.e., the vectorizer
+// will try to fold the tail-loop (epilogue) into the vector body and the
+// instructions accordingly. If tail-folding fails, there are different fallback
+// strategies depending on these values:
+namespace PreferTailFoldingTy {
+enum Option {
+  PreferEpilogue = 0,
----------------
lukel97 wrote:

The PreferEpilogue option guarantees that there will be no tail folding right? Prefer seems to indicate that it's only a best effort basis. Would a better term be something like `Epilogue` or `NoFoldTail` .

I agree though that `ScalarEpilogue` is misleading given that it can be vectorized

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


More information about the cfe-commits mailing list