aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatthias Springer <me@m-sp.org>2023-03-29 11:02:26 +0200
committerMatthias Springer <me@m-sp.org>2023-03-29 11:05:04 +0200
commit5d9e858ae6d62b2d3b5f74bda8bb841ce0e630b0 (patch)
treedea7c6ecbc2b3c42cecd863f0654b3bf8c5cbb3a /clang/lib/Frontend/CompilerInvocation.cpp
parent7b4a7552719b7720b9c8ccb4bc04a9e6fa1ec0b6 (diff)
downloadllvm-5d9e858ae6d62b2d3b5f74bda8bb841ce0e630b0.zip
llvm-5d9e858ae6d62b2d3b5f74bda8bb841ce0e630b0.tar.gz
llvm-5d9e858ae6d62b2d3b5f74bda8bb841ce0e630b0.tar.bz2
[mlir][transform] Add TrackingListener
This change makes it possible to use a greedy pattern rewrite as part of a transform op, even if the transform op does not invalidate the target handle (in particular transform ops without `FunctionalStyleTransformOpTrait`) and the targeted op is not isolated from above. The listener API allows us to track replacements of ops with values, but not ops with ops. Therefore, the TrackingListener is conservative: If an op is replaced with values that all have the same defining op and the defining op is of the same type as the original op, it is safe to assume that the op was replaced with an equivalent op. Otherwise, the op mapping is dropped. When this is not good enough, transforms can track values instead or provide a custom `findReplacementOp` function. Differential Revision: https://reviews.llvm.org/D147039
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions