This patch builds on D132458 (use masked vector functions with a dummy mask when no unmasked variant is available) and D134422 (scalarize function calls when masking is required), adding support for actually using the masked functions when masking is required, either due to the control flow in the scalar loop or because we're performing tail folding.
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Rebased on top of the latest version of D132458, which incorporates the vector function into the vplan recipe instead of looking it up again.
llvm/include/llvm/Analysis/VectorUtils.h | ||
---|---|---|
291 | if (Info.isMasked()) return true; return false; |
llvm/include/llvm/Analysis/VectorUtils.h | ||
---|---|---|
291 | if (!VF || Info.Shape.VF == *VF) if (Info.isMasked()) return false; |