================
@@ -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