[all-commits] [llvm/llvm-project] 731807: [mlir] allow function type cloning to fail (#137130)
ftynse via All-commits
all-commits at lists.llvm.org
Wed Apr 30 00:27:03 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7318074168e324097b7f6ec93e34915463bf70f1
https://github.com/llvm/llvm-project/commit/7318074168e324097b7f6ec93e34915463bf70f1
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/IR/test-func-erase-result.mlir
M mlir/test/lib/IR/TestFunc.cpp
Log Message:
-----------
[mlir] allow function type cloning to fail (#137130)
`FunctionOpInterface` assumed the fact that the function type (attribute
of the operation) can be cloned with arbirary lists of function
arguments and results to support argument and result list mutation. This
is not always correct, in particular, LLVM dialect functions require
exactly one result making it impossible to erase the result.
Allow function type cloning to fail and propagate this failure through
various APIs that use it. The common assumption is that existing IR has
not been modified.
Fixes #131142.
Reland a8c7ecdcbc3e89b493b495c6831cc93671c3b844 / #136300.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list