Return nullptr on Region::getContainingOperation()/getContainingFunction() instea...
authorMehdi Amini <aminim@google.com>
Wed, 22 May 2019 19:22:51 +0000 (12:22 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Sun, 2 Jun 2019 02:56:43 +0000 (19:56 -0700)
    This avoids crashing when trying to dump an operation nested in a region that isn't yet attached to an operation, which is quite useful when debugging.

    This alone won't be enough to print an unlink Operation, it'll display `<<UNLINKED INSTRUCTION>>`.

--

PiperOrigin-RevId: 249496388

mlir/lib/IR/Block.cpp

index a440ca9..2ed8fd0 100644 (file)
@@ -289,12 +289,10 @@ Region *Region::getContainingRegion() {
 }
 
 Operation *Region::getContainingOp() {
-  assert(!container.isNull() && "no container");
   return container.dyn_cast<Operation *>();
 }
 
 Function *Region::getContainingFunction() {
-  assert(!container.isNull() && "no container");
   return container.dyn_cast<Function *>();
 }