aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatthias Springer <me@m-sp.org>2024-07-20 10:12:13 +0200
committerGitHub <noreply@github.com>2024-07-20 10:12:13 +0200
commitbbd4af5da2b741672a8e6f625eb12ea5c2d6220f (patch)
treea1a74062199a6cb12afd3530682b75e836686721 /clang/lib/Frontend/CompilerInvocation.cpp
parent0d26f65414afe496b00ee803cc24722a9bf3f41d (diff)
downloadllvm-bbd4af5da2b741672a8e6f625eb12ea5c2d6220f.zip
llvm-bbd4af5da2b741672a8e6f625eb12ea5c2d6220f.tar.gz
llvm-bbd4af5da2b741672a8e6f625eb12ea5c2d6220f.tar.bz2
[mlir][Transforms] Dialect conversion: Simplify handling of dropped arguments (#97213)
This commit simplifies the handling of dropped arguments and updates some dialect conversion documentation that is outdated. When converting a block signature, a `BlockTypeConversionRewrite` object and potentially multiple `ReplaceBlockArgRewrite` are created. During the "commit" phase, uses of the old block arguments are replaced with the new block arguments, but the old implementation was written in an inconsistent way: some block arguments were replaced in `BlockTypeConversionRewrite::commit` and some were replaced in `ReplaceBlockArgRewrite::commit`. The new `BlockTypeConversionRewrite::commit` implementation is much simpler and no longer modifies any IR; that is done only in `ReplaceBlockArgRewrite` now. The `ConvertedArgInfo` data structure is no longer needed. To that end, materializations of dropped arguments are now built in `applySignatureConversion` instead of `materializeLiveConversions`; the latter function no longer has to deal with dropped arguments. Other minor improvements: - Add more comments to `applySignatureConversion`. Note: Error messages around failed materializations for dropped basic block arguments changed slightly. That is because those materializations are now built in `legalizeUnresolvedMaterialization` instead of `legalizeConvertedArgumentTypes`. This commit is in preparation of decoupling argument/source/target materializations from the dialect conversion. This is a re-upload of #96207.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions