HomePhabricator

[mlir][VectorOps] Redo the scalar loop emission in VectoToSCF to pad instead of…

Authored by bkramer on Sep 7 2020, 8:39 AM.

Description

[mlir][VectorOps] Redo the scalar loop emission in VectoToSCF to pad instead of clipping

This replaces the select chain for edge-padding with an scf.if that
performs the memory operation when the index is in bounds and uses the
pad value when it's not. For transfer_write the same mechanism is used,
skipping the store when the index is out of bounds.

The integration test has a bunch of cases of how I believe this should
work.

Differential Revision: https://reviews.llvm.org/D87241