CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
190 lines
5.3 KiB
MLIR
190 lines
5.3 KiB
MLIR
// RUN: mlir-opt %s | mlir-opt | FileCheck %s
|
|
|
|
// CHECK: irdl.dialect @testd {
|
|
irdl.dialect @testd {
|
|
// CHECK: irdl.type @parametric {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.any
|
|
// CHECK: irdl.parameters(foo: %[[v0]])
|
|
// CHECK: }
|
|
irdl.type @parametric {
|
|
%0 = irdl.any
|
|
irdl.parameters(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.attribute @parametric_attr {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.any
|
|
// CHECK: irdl.parameters(foo: %[[v0]])
|
|
// CHECK: }
|
|
irdl.attribute @parametric_attr {
|
|
%0 = irdl.any
|
|
irdl.parameters(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.type @attr_in_type_out {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.any
|
|
// CHECK: irdl.parameters(foo: %[[v0]])
|
|
// CHECK: }
|
|
irdl.type @attr_in_type_out {
|
|
%0 = irdl.any
|
|
irdl.parameters(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.operation @eq {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: irdl.results(foo: %[[v0]])
|
|
// CHECK: }
|
|
irdl.operation @eq {
|
|
%0 = irdl.is i32
|
|
irdl.results(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.operation @anyof {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.is i64
|
|
// CHECK: %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
|
|
// CHECK: irdl.results(foo: %[[v2]])
|
|
// CHECK: }
|
|
irdl.operation @anyof {
|
|
%0 = irdl.is i32
|
|
%1 = irdl.is i64
|
|
%2 = irdl.any_of(%0, %1)
|
|
irdl.results(foo: %2)
|
|
}
|
|
|
|
// CHECK: irdl.operation @all_of {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.is i64
|
|
// CHECK: %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
|
|
// CHECK: %[[v3:[^ ]*]] = irdl.all_of(%[[v2]], %[[v1]])
|
|
// CHECK: irdl.results(foo: %[[v3]])
|
|
// CHECK: }
|
|
irdl.operation @all_of {
|
|
%0 = irdl.is i32
|
|
%1 = irdl.is i64
|
|
%2 = irdl.any_of(%0, %1)
|
|
%3 = irdl.all_of(%2, %1)
|
|
irdl.results(foo: %3)
|
|
}
|
|
|
|
// CHECK: irdl.operation @any {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.any
|
|
// CHECK: irdl.results(foo: %[[v0]])
|
|
// CHECK: }
|
|
irdl.operation @any {
|
|
%0 = irdl.any
|
|
irdl.results(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.operation @dyn_type_base {
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.base @testd::@parametric
|
|
// CHECK: irdl.results(foo: %[[v1]])
|
|
// CHECK: }
|
|
irdl.operation @dyn_type_base {
|
|
%0 = irdl.base @testd::@parametric
|
|
irdl.results(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.operation @dyn_attr_base {
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.base @testd::@parametric_attr
|
|
// CHECK: irdl.attributes {"attr1" = %[[v1]]}
|
|
// CHECK: }
|
|
irdl.operation @dyn_attr_base {
|
|
%0 = irdl.base @testd::@parametric_attr
|
|
irdl.attributes {"attr1" = %0}
|
|
}
|
|
|
|
// CHECK: irdl.operation @named_type_base {
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.base "!builtin.integer"
|
|
// CHECK: irdl.results(foo: %[[v1]])
|
|
// CHECK: }
|
|
irdl.operation @named_type_base {
|
|
%0 = irdl.base "!builtin.integer"
|
|
irdl.results(foo: %0)
|
|
}
|
|
|
|
// CHECK: irdl.operation @named_attr_base {
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.base "#builtin.integer"
|
|
// CHECK: irdl.attributes {"attr1" = %[[v1]]}
|
|
// CHECK: }
|
|
irdl.operation @named_attr_base {
|
|
%0 = irdl.base "#builtin.integer"
|
|
irdl.attributes {"attr1" = %0}
|
|
}
|
|
|
|
// CHECK: irdl.operation @dynparams {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.is i64
|
|
// CHECK: %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
|
|
// CHECK: %[[v3:[^ ]*]] = irdl.parametric @testd::@parametric<%[[v2]]>
|
|
// CHECK: irdl.results(foo: %[[v3]])
|
|
// CHECK: }
|
|
irdl.operation @dynparams {
|
|
%0 = irdl.is i32
|
|
%1 = irdl.is i64
|
|
%2 = irdl.any_of(%0, %1)
|
|
%3 = irdl.parametric @testd::@parametric<%2>
|
|
irdl.results(foo: %3)
|
|
}
|
|
|
|
// CHECK: irdl.operation @constraint_vars {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.is i64
|
|
// CHECK: %[[v2:[^ ]*]] = irdl.any_of(%[[v0]], %[[v1]])
|
|
// CHECK: irdl.results(foo: %[[v2]], bar: %[[v2]])
|
|
// CHECK: }
|
|
irdl.operation @constraint_vars {
|
|
%0 = irdl.is i32
|
|
%1 = irdl.is i64
|
|
%2 = irdl.any_of(%0, %1)
|
|
irdl.results(foo: %2, bar: %2)
|
|
}
|
|
|
|
// CHECK: irdl.operation @attrs {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.is i64
|
|
// CHECK: irdl.attributes {"attr1" = %[[v0]], "attr2" = %[[v1]]}
|
|
// CHECK: }
|
|
irdl.operation @attrs {
|
|
%0 = irdl.is i32
|
|
%1 = irdl.is i64
|
|
|
|
irdl.attributes {
|
|
"attr1" = %0,
|
|
"attr2" = %1
|
|
}
|
|
}
|
|
// CHECK: irdl.operation @regions {
|
|
// CHECK: %[[r0:[^ ]*]] = irdl.region
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.is i32
|
|
// CHECK: %[[v1:[^ ]*]] = irdl.is i64
|
|
// CHECK: %[[r1:[^ ]*]] = irdl.region(%[[v0]], %[[v1]])
|
|
// CHECK: %[[r2:[^ ]*]] = irdl.region with size 3
|
|
// CHECK: %[[r3:[^ ]*]] = irdl.region()
|
|
// CHECK: irdl.regions(foo: %[[r0]], bar: %[[r1]], baz: %[[r2]], qux: %[[r3]])
|
|
// CHECK: }
|
|
irdl.operation @regions {
|
|
%r0 = irdl.region
|
|
%v0 = irdl.is i32
|
|
%v1 = irdl.is i64
|
|
%r1 = irdl.region(%v0, %v1)
|
|
%r2 = irdl.region with size 3
|
|
%r3 = irdl.region()
|
|
|
|
irdl.regions(foo: %r0, bar: %r1, baz: %r2, qux: %r3)
|
|
}
|
|
|
|
// CHECK: irdl.operation @region_and_operand {
|
|
// CHECK: %[[v0:[^ ]*]] = irdl.any
|
|
// CHECK: %[[r0:[^ ]*]] = irdl.region(%[[v0]])
|
|
// CHECK: irdl.operands(foo: %[[v0]])
|
|
// CHECK: irdl.regions(bar: %[[r0]])
|
|
// CHECK: }
|
|
irdl.operation @region_and_operand {
|
|
%v0 = irdl.any
|
|
%r0 = irdl.region(%v0)
|
|
|
|
irdl.operands(foo: %v0)
|
|
irdl.regions(bar: %r0)
|
|
}
|
|
}
|