37 lines
1.3 KiB
MLIR
37 lines
1.3 KiB
MLIR
// RUN: mlir-opt %s -split-input-file -verify-diagnostics
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
// pdl_interp::CreateOperationOp
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
pdl_interp.func @rewriter() {
|
|
// expected-error@+1 {{op has inferred results, but the created operation 'foo.op' does not support result type inference}}
|
|
%op = pdl_interp.create_operation "foo.op" -> <inferred>
|
|
pdl_interp.finalize
|
|
}
|
|
|
|
// -----
|
|
|
|
pdl_interp.func @rewriter() {
|
|
%type = pdl_interp.create_type i32
|
|
// expected-error@+1 {{op with inferred results cannot also have explicit result types}}
|
|
%op = "pdl_interp.create_operation"(%type) {
|
|
inferredResultTypes,
|
|
inputAttributeNames = [],
|
|
name = "foo.op",
|
|
operandSegmentSizes = array<i32: 0, 0, 1>
|
|
} : (!pdl.type) -> (!pdl.operation)
|
|
pdl_interp.finalize
|
|
}
|
|
|
|
// -----
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
// pdl_interp::CreateRangeOp
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
pdl_interp.func @rewriter(%value: !pdl.value, %type: !pdl.type) {
|
|
// expected-error @below {{expected operand to have element type '!pdl.value', but got '!pdl.type'}}
|
|
%range = pdl_interp.create_range %value, %type : !pdl.value, !pdl.type
|
|
pdl_interp.finalize
|
|
}
|