diff options
Diffstat (limited to 'clang/lib/CIR/Dialect/IR/CIRDialect.cpp')
| -rw-r--r-- | clang/lib/CIR/Dialect/IR/CIRDialect.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp index 7c8429432b0f..936247e9d8fb 100644 --- a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp @@ -1785,6 +1785,19 @@ LogicalResult cir::ShiftOp::verify() { } //===----------------------------------------------------------------------===// +// LabelOp Definitions +//===----------------------------------------------------------------------===// + +LogicalResult cir::LabelOp::verify() { + mlir::Operation *op = getOperation(); + mlir::Block *blk = op->getBlock(); + if (&blk->front() != op) + return emitError() << "must be the first operation in a block"; + + return mlir::success(); +} + +//===----------------------------------------------------------------------===// // UnaryOp //===----------------------------------------------------------------------===// |
