[Mlir-commits] [mlir] [MLIR] Prevent invalid IR from being passed outside of RemoveDeadValues (PR #121079)
Renat Idrisov
llvmlistbot at llvm.org
Tue Dec 31 08:17:16 PST 2024
================
@@ -72,15 +72,55 @@ using namespace mlir::dataflow;
namespace {
+// Set of structures below to be filled with operations and arguments to erase.
+// This is done to separate analysis and tree modification phases,
+// otherwise analysis is operating on half-deleted tree which is incorrect.
+
+struct CleanupFunction {
+ FunctionOpInterface funcOp;
+ BitVector nonLiveArgs;
+ BitVector nonLiveRets;
+};
+
+struct CleanupOperands {
+ Operation *op;
+ BitVector nonLiveOperands;
+};
+
+struct CleanupResults {
+ Operation *op;
+ BitVector nonLiveResults;
+};
+
+struct CleanupBlockArgs {
+ Block *b;
+ BitVector nonLiveArgs;
+};
+
+struct CleanupSuccessorOperands {
+ BranchOpInterface branch;
+ unsigned index;
----------------
parsifal-47 wrote:
changed to `successorIndex`, thank you!
https://github.com/llvm/llvm-project/pull/121079
More information about the Mlir-commits
mailing list