diff options
author | Matthias Springer <springerm@google.com> | 2023-01-27 11:49:25 +0100 |
---|---|---|
committer | Matthias Springer <springerm@google.com> | 2023-01-27 11:56:48 +0100 |
commit | c864288dcf169fd1aa663320b7414c0ee72d5c2b (patch) | |
tree | 614840831ba830d9b176d3251d252f33e3b724ab /llvm/lib/CodeGen/StackProtector.cpp | |
parent | a2b837ab0448869c74cc042155dd454833c60d62 (diff) | |
download | llvm-c864288dcf169fd1aa663320b7414c0ee72d5c2b.zip llvm-c864288dcf169fd1aa663320b7414c0ee72d5c2b.tar.gz llvm-c864288dcf169fd1aa663320b7414c0ee72d5c2b.tar.bz2 |
[mlir][transforms] Simplify OperationEquivalence and CSE
Replace `mapOperands` and `mapResults` with two new callbacks. It was not clear what "mapping" meant and why the equivalence relationship was a property of the Operand/OpResult as opposed to just SSA values.
This revision changes the contract of the two callbacks: `checkEquivalent` compares two values for equivalence. `markEquivalent` informs the caller that the analysis determined that two values are equivalent. This simplifies the API because callers do not have to reason about operands/results, but just SSA values.
`OperationEquivalence::isEquivalentTo` can be used directly in CSE and there is no need for a custom op equivalence analysis.
Differential Revision: https://reviews.llvm.org/D142558
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions