aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorLei Zhang <antiagainst@google.com>2021-03-24 17:50:39 -0400
committerLei Zhang <antiagainst@google.com>2021-03-24 18:17:57 -0400
commitf66120a3575a19d2b9b47b584698d5d950f63589 (patch)
tree5efc2a8f6d3d99097897eefca2b2955fa77668b9 /clang/lib/Frontend/CompilerInvocation.cpp
parent23fd26608ca899f13445908e6afd61d88f6aea9c (diff)
downloadllvm-f66120a3575a19d2b9b47b584698d5d950f63589.zip
llvm-f66120a3575a19d2b9b47b584698d5d950f63589.tar.gz
llvm-f66120a3575a19d2b9b47b584698d5d950f63589.tar.bz2
[mlir][affine] Add canonicalization to merge affine min/max ops
This identifies a pattern where the producer affine min/max op is bound to a dimension/symbol that is used as a standalone expression in the consumer affine op's map. In that case the producer affine min/max op can be merged into its consumer. For example, a pattern like the following: ``` %0 = affine.min affine_map<()[s0] -> (s0 + 16, s0 * 8)> ()[%sym1] %1 = affine.min affine_map<(d0)[s0] -> (s0 + 4, d0)> (%0)[%sym2] ``` Can be turned into: ``` %1 = affine.min affine_map< ()[s0, s1] -> (s0 + 4, s1 + 16, s1 * 8)> ()[%sym2, %sym1] ``` Differential Revision: https://reviews.llvm.org/D99016
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions