diff options
author | Benjamin Maxwell <benjamin.maxwell@arm.com> | 2023-10-23 12:40:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-23 12:40:01 +0100 |
commit | c7be2dee2a1cf9bcac2c4c34e617f78915880912 (patch) | |
tree | 46ea12f7b988af48083923a23e249f5cdecf8ced /clang/lib/Basic/SourceManager.cpp | |
parent | febf5c97bba7910e796041c9518fce01f31ae826 (diff) | |
download | llvm-c7be2dee2a1cf9bcac2c4c34e617f78915880912.zip llvm-c7be2dee2a1cf9bcac2c4c34e617f78915880912.tar.gz llvm-c7be2dee2a1cf9bcac2c4c34e617f78915880912.tar.bz2 |
[mlir][VectorOps] Add fold `ExtractOp(CreateMask) -> CreateMask` (#69456)
This allows folding extracts from `vector.create_mask` ops that have a
known value. Currently, there's no fold for this, but you get the same
effect from the unrolling in LowerVectorMask (part of
-convert-vector-to-llvm), then folds after that. However, for a future
patch, this simplification needs to be done before lowering to LLVM,
hence the need for this fold.
E.g.:
```
%0 = vector.create_mask %c1, %dimA, %dimB : vector<1x[4]x[4]xi1>
%1 = vector.extract %mask[0] : vector<[4]x[4]xi1>
```
->
```
%0 = vector.create_mask %dimA, %dimB : vector<[4]x[4]xi1>
```
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions