Issue 153896
Summary Crash in Linalg::YieldOp::getSuccessorRegions
Labels new issue
Assignees
Reporter wsmoses
    It's implemented as:

```
    void getSuccessorRegions(::llvm::ArrayRef<::mlir::Attribute> operands, ::llvm::SmallVectorImpl<::mlir::RegionSuccessor> & regions) {
 ::mlir::Operation *op = (*static_cast<ConcreteOp *>(this));
 ::llvm::cast<::mlir::RegionBranchOpInterface>(op->getParentOp())
 .getSuccessorRegions(op->getParentRegion(), regions);
    }
    static ::llvm::LogicalResult verifyTrait(::mlir::Operation *op) {
 static_assert(ConcreteOp::template hasTrait<OpTrait::IsTerminator>(),
 "expected operation to be a terminator");
 static_assert(ConcreteOp::template hasTrait<OpTrait::ZeroResults>(),
 "expected operation to have zero results");
 static_assert(ConcreteOp::template hasTrait<OpTrait::ZeroSuccessors>(),
 "expected operation to have zero successors");
    return success(); 
    }
```

Linalg::YieldOp has the interface RegionBranchTerminatorOpInterface, but linalg::GenericOp does not define `RegionBranchOpInterface`, causing it to crash

cc @ftynse @arpitj1 
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to