[Mlir-commits] [mlir] 89c5c3b - [MLIR][IR] Add assert to Operation::moveBefore (NFC) (#137772)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue Apr 29 03:38:37 PDT 2025
Author: Christian Ulmann
Date: 2025-04-29T12:38:34+02:00
New Revision: 89c5c3ba38492de8163c344d076733b32d522727
URL: https://github.com/llvm/llvm-project/commit/89c5c3ba38492de8163c344d076733b32d522727
DIFF: https://github.com/llvm/llvm-project/commit/89c5c3ba38492de8163c344d076733b32d522727.diff
LOG: [MLIR][IR] Add assert to Operation::moveBefore (NFC) (#137772)
This commit adds an assert to `Operation::moveBefore` which ensures that
moving of operations without a parent block is detected early on. This
case otherwise runs into a segfault, as it's assumed that there is an
parent block.
Added:
Modified:
mlir/lib/IR/Operation.cpp
Removed:
################################################################################
diff --git a/mlir/lib/IR/Operation.cpp b/mlir/lib/IR/Operation.cpp
index fe0fee0f8db2c..a479ff97f3f16 100644
--- a/mlir/lib/IR/Operation.cpp
+++ b/mlir/lib/IR/Operation.cpp
@@ -322,8 +322,8 @@ void Operation::setAttrs(DictionaryAttr newAttrs) {
}
void Operation::setAttrs(ArrayRef<NamedAttribute> newAttrs) {
if (getPropertiesStorageSize()) {
- // We're spliting the providing array of attributes by removing the inherentAttr
- // which will be stored in the properties.
+ // We're spliting the providing array of attributes by removing the
+ // inherentAttr which will be stored in the properties.
SmallVector<NamedAttribute> discardableAttrs;
discardableAttrs.reserve(newAttrs.size());
for (NamedAttribute attr : newAttrs) {
@@ -560,6 +560,8 @@ void Operation::moveBefore(Operation *existingOp) {
/// before `iterator` in the specified basic block.
void Operation::moveBefore(Block *block,
llvm::iplist<Operation>::iterator iterator) {
+ assert(getBlock() &&
+ "cannot move an operation that isn't contained in a block");
block->getOperations().splice(iterator, getBlock()->getOperations(),
getIterator());
}
More information about the Mlir-commits
mailing list