aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ELFObjectFile.cpp
diff options
context:
space:
mode:
authorKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>2024-11-12 13:36:07 -0800
committerGitHub <noreply@github.com>2024-11-12 15:36:07 -0600
commit49f90e798fe5667ac5e71a796aa897af3185137d (patch)
treeda0679e37ae5e72b8f7ead352cda67231ded4fc5 /llvm/lib/Object/ELFObjectFile.cpp
parentfe83a7282e05b6aba7c87fa293ec84ef926a7991 (diff)
downloadllvm-49f90e798fe5667ac5e71a796aa897af3185137d.zip
llvm-49f90e798fe5667ac5e71a796aa897af3185137d.tar.gz
llvm-49f90e798fe5667ac5e71a796aa897af3185137d.tar.bz2
[mlir][affine] Cancel exactly-matching delinearize/linearize pairs (#115758)
If we linearize values (with an assertion tha they are disjoint) and then delinearize that linear index with th exact same basis, we know that these operations are exact inverses of each other and can be replaced with the original inputs to the linearization. Similarly, if we take a linear index, delinearize it with some bases, and then re-linearize it with that same basis (noting that the outputs of the delinearization are guaranteed to by `disjoint`, even if this is not asserted on the linearize_index operation), the re-linearization is the inverse of the delinearization, so those two operations can also be canceled out. This commit adds canonicalization patterns for these simple cancelations.
Diffstat (limited to 'llvm/lib/Object/ELFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions