Enable support for query functions - including transform.dlti.query - to take types as keys. As the data layout specific attributes already supported types as keys, this change enables querying such attributes in the expected way.
224 lines
7.9 KiB
MLIR
224 lines
7.9 KiB
MLIR
// RUN: mlir-opt -split-input-file %s | FileCheck %s
|
|
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.map = #dlti.map<
|
|
// CHECK-SAME: #dlti.dl_entry<"magic_num", 42 : i32>,
|
|
// CHECK-SAME: #dlti.dl_entry<"magic_num_float", 4.242000e+01 : f32>,
|
|
// CHECK-SAME: #dlti.dl_entry<"magic_type", i32>,
|
|
// CHECK-SAME: #dlti.dl_entry<i32,
|
|
// CHECK-SAME: #dlti.map<#dlti.dl_entry<"bitwidth", 32 : i32>>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.map = #dlti.map<
|
|
#dlti.dl_entry<"magic_num", 42 : i32>,
|
|
#dlti.dl_entry<"magic_num_float", 42.42 : f32>,
|
|
#dlti.dl_entry<"magic_type", i32>,
|
|
#dlti.dl_entry<i32, #dlti.map<#dlti.dl_entry<"bitwidth", 32 : i32>>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.map = #dlti.map<
|
|
// CHECK-SAME: #dlti.dl_entry<"CPU", #dlti.map<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i32>>>,
|
|
// CHECK-SAME: #dlti.dl_entry<"GPU", #dlti.map<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 128 : i32>>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.map = #dlti.map<
|
|
#dlti.dl_entry<"CPU", #dlti.map<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i32>>>,
|
|
#dlti.dl_entry<"GPU", #dlti.map<
|
|
#dlti.dl_entry<"max_vector_op_width", 128 : i32>>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i32>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 128 : i32>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i32>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 128 : i32>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i32>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 8192 : i32>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i32>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 8192 : i32>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i64>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 8192 : i64>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : i64>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 8192 : i64>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 64 : i32>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 128 : i32>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 64 : i32>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 128 : i32>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 64 : i64>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 128 : i64>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 64 : i64>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 128 : i64>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 64 : i64>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 128 : i64>>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 64 : i64>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 128 : i64>>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// Check values of mixed type
|
|
//
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : ui32>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", "128">>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", 4096 : ui32>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", "128">>
|
|
>} {}
|
|
|
|
// -----
|
|
|
|
// Check values of mixed type
|
|
//
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_vector_op_width", 4.096000e+03 : f32>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", "128">>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"max_vector_op_width", 4096.0 : f32>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", "128">>
|
|
>} {}
|
|
|
|
|
|
// -----
|
|
|
|
// Check values of mixed type
|
|
//
|
|
// CHECK: module attributes {
|
|
// CHECK-SAME: dlti.target_system_spec = #dlti.target_system_spec<
|
|
// CHECK-SAME: "CPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"vector_unit", #dlti.map<
|
|
// CHECK-SAME: #dlti.dl_entry<"max_op_width", 4.096000e+03 : f32>>>>,
|
|
// CHECK-SAME: "GPU" : #dlti.target_device_spec<
|
|
// CHECK-SAME: #dlti.dl_entry<"L1_cache_size_in_bytes", "128">>
|
|
// CHECK-SAME: >} {
|
|
// CHECK: }
|
|
module attributes {
|
|
dlti.target_system_spec = #dlti.target_system_spec<
|
|
"CPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"vector_unit", #dlti.map<
|
|
#dlti.dl_entry<"max_op_width", 4096.0 : f32>>>>,
|
|
"GPU": #dlti.target_device_spec<
|
|
#dlti.dl_entry<"L1_cache_size_in_bytes", "128">>
|
|
>} {}
|
|
|
|
|
|
// -----
|
|
|
|
// CHECK: "test.op_with_dlti_map"() ({
|
|
// CHECK: }) {dlti.map = #dlti.map<#dlti.dl_entry<"dlti.unknown_id", 42 : i64>>}
|
|
"test.op_with_dlti_map"() ({
|
|
}) { dlti.map = #dlti.map<#dlti.dl_entry<"dlti.unknown_id", 42>> } : () -> ()
|
|
|
|
// -----
|
|
|
|
// CHECK: "test.op_with_dlti_map"() ({
|
|
// CHECK: }) {dlti.map = #dlti.map<#dlti.dl_entry<i32, 42 : i64>>}
|
|
"test.op_with_dlti_map"() ({
|
|
}) { dlti.map = #dlti.map<#dlti.dl_entry<i32, 42>> } : () -> ()
|