[Mlir-commits] [mlir] [MLIR] Prevent invalid IR from being passed outside of RemoveDeadValues (PR #121079)

Andrzej WarzyƄski llvmlistbot at llvm.org
Tue Dec 31 09:11:09 PST 2024


================
@@ -72,15 +72,50 @@ 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 CleanupOperation {
+  Operation *op;
+  BitVector nonLive;
+};
+
+struct CleanupBlockArgs {
+  Block *b;
+  BitVector nonLiveArgs;
+};
+
+struct CleanupSuccessorOperands {
+  BranchOpInterface branch;
+  unsigned successorIndex;
+  BitVector nonLiveOperands;
+};
+
+struct CleanupList {
----------------
banach-space wrote:

Perhaps `RDVFinalCleanupList`? RDV - Remove Dead Values. Just to avoid generic names.

https://github.com/llvm/llvm-project/pull/121079


More information about the Mlir-commits mailing list