forked from iree-org/iree
-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPIRV] Handle extraction from create_mask during load/store vectoriz…
…ation (iree-org#15524) Proper handling of masks requires direct lowerings of the mask, however we can skip the materialization of the mask entirely (and subsequent reliance on unrolling/canonicalization to clean up the masks) by folding `vector.extract(vector.create_mask)` into the appropriate boolean. This works for subgroup reduce (the first dynamic codegen problem we're tackling) because masks and transfers are never unrolled in this pipeline, rather we just distribute them in place to a pre-configured vector size. We handle this during SPIRVVectorizeLoadStore because immediately after scalarizing vector.transfer_read/write, we will introduce the extracts on the mask.
- Loading branch information
Showing
2 changed files
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters