================
@@ -2903,6 +2920,38 @@ void 
LoopVectorizationCostModel::collectLoopUniforms(ElementCount VF) {
     AddToWorklistIfAllowed(IndUpdate);
   }
 
+  // Handle monotonic phis (similarly to induction vars).
+  for (const auto &MonotonicPHI : Legal->getMonotonicPHIs()) {
----------------
eas wrote:

I'm worried about doing something like `store %monotonic, %uni + (%iv / 1024)`. 
If/when we deduce the pointer operand as uniform, the uniformity check for the 
monotonic idiom would become very fragile/implicit/unclear.

https://github.com/llvm/llvm-project/pull/214491
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to