| // RUN: mlir-opt --mlir-disable-threading -split-input-file -verify-diagnostics %s |
| |
| func.func @verify_operand_type() { |
| %0 = arith.constant 1 : index |
| // expected-error@+1 {{op operand #0 must be 32-bit signless integer, but got 'index'}} |
| "test.verifiers"(%0) ({ |
| %1 = arith.constant 2 : index |
| }) : (index) -> () |
| return |
| } |
| |
| // ----- |
| |
| func.func @verify_nested_op_block_trait() { |
| %0 = arith.constant 1 : i32 |
| // expected-remark@+1 {{success run of verifier}} |
| "test.verifiers"(%0) ({ |
| %1 = arith.constant 2 : index |
| // expected-error@+1 {{op requires one region}} |
| "test.verifiers"(%1) : (index) -> () |
| }) : (i32) -> () |
| return |
| } |
| |
| // ----- |
| |
| func.func @verify_nested_op_operand() { |
| %0 = arith.constant 1 : i32 |
| // expected-remark@+1 {{success run of verifier}} |
| "test.verifiers"(%0) ({ |
| %1 = arith.constant 2 : index |
| // expected-error@+1 {{op operand #0 must be 32-bit signless integer, but got 'index'}} |
| "test.verifiers"(%1) ({ |
| %2 = arith.constant 3 : index |
| }) : (index) -> () |
| }) : (i32) -> () |
| return |
| } |
| |
| // ----- |
| |
| func.func @verify_nested_isolated_above() { |
| %0 = arith.constant 1 : i32 |
| // expected-remark@+1 {{success run of verifier}} |
| "test.verifiers"(%0) ({ |
| // expected-remark@-1 {{success run of region verifier}} |
| %1 = arith.constant 2 : i32 |
| // expected-remark@+1 {{success run of verifier}} |
| "test.verifiers"(%1) ({ |
| // expected-remark@-1 {{success run of region verifier}} |
| %2 = arith.constant 3 : index |
| }) : (i32) -> () |
| }) : (i32) -> () |
| return |
| } |