@@ -444,20 +444,20 @@ gpu.module @kernels {
444
444
gpu.return
445
445
}
446
446
447
- // CHECK-64: llvm.func spir_kernelcc @kernel_with_conv_args(%{{.*}}: i64, %{{.*}}: !llvm.ptr, %{{.*}}: !llvm.ptr, %{{.*}}: i64) attributes {gpu.kernel} {
448
- // CHECK-32: llvm.func spir_kernelcc @kernel_with_conv_args(%{{.*}}: i32, %{{.*}}: !llvm.ptr, %{{.*}}: !llvm.ptr, %{{.*}}: i32) attributes {gpu.kernel} {
447
+ // CHECK-64: llvm.func spir_kernelcc @kernel_with_conv_args(%{{.*}}: i64, %{{.*}}: !llvm.ptr<1> , %{{.*}}: !llvm.ptr<1> , %{{.*}}: i64) attributes {gpu.kernel} {
448
+ // CHECK-32: llvm.func spir_kernelcc @kernel_with_conv_args(%{{.*}}: i32, %{{.*}}: !llvm.ptr<1> , %{{.*}}: !llvm.ptr<1> , %{{.*}}: i32) attributes {gpu.kernel} {
449
449
gpu.func @kernel_with_conv_args (%arg0: index , %arg1: memref <index >) kernel {
450
450
gpu.return
451
451
}
452
452
453
- // CHECK-64: llvm.func spir_kernelcc @kernel_with_sized_memref(%{{.*}}: !llvm.ptr, %{{.*}}: !llvm.ptr, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64) attributes {gpu.kernel} {
454
- // CHECK-32: llvm.func spir_kernelcc @kernel_with_sized_memref(%{{.*}}: !llvm.ptr, %{{.*}}: !llvm.ptr, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32) attributes {gpu.kernel} {
453
+ // CHECK-64: llvm.func spir_kernelcc @kernel_with_sized_memref(%{{.*}}: !llvm.ptr<1> , %{{.*}}: !llvm.ptr<1> , %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64) attributes {gpu.kernel} {
454
+ // CHECK-32: llvm.func spir_kernelcc @kernel_with_sized_memref(%{{.*}}: !llvm.ptr<1> , %{{.*}}: !llvm.ptr<1> , %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32) attributes {gpu.kernel} {
455
455
gpu.func @kernel_with_sized_memref (%arg0: memref <1 xindex >) kernel {
456
456
gpu.return
457
457
}
458
458
459
- // CHECK-64: llvm.func spir_kernelcc @kernel_with_ND_memref(%{{.*}}: !llvm.ptr, %{{.*}}: !llvm.ptr, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64) attributes {gpu.kernel} {
460
- // CHECK-32: llvm.func spir_kernelcc @kernel_with_ND_memref(%{{.*}}: !llvm.ptr, %{{.*}}: !llvm.ptr, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32) attributes {gpu.kernel} {
459
+ // CHECK-64: llvm.func spir_kernelcc @kernel_with_ND_memref(%{{.*}}: !llvm.ptr<1> , %{{.*}}: !llvm.ptr<1> , %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64, %{{.*}}: i64) attributes {gpu.kernel} {
460
+ // CHECK-32: llvm.func spir_kernelcc @kernel_with_ND_memref(%{{.*}}: !llvm.ptr<1> , %{{.*}}: !llvm.ptr<1> , %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32, %{{.*}}: i32) attributes {gpu.kernel} {
461
461
gpu.func @kernel_with_ND_memref (%arg0: memref <128 x128 x128 xindex >) kernel {
462
462
gpu.return
463
463
}
@@ -566,6 +566,44 @@ gpu.module @kernels {
566
566
567
567
// -----
568
568
569
+ gpu.module @kernels {
570
+ // CHECK: llvm.func spir_funccc @_Z12get_group_idj(i32)
571
+ // CHECK-LABEL: llvm.func spir_funccc @no_address_spaces(
572
+ // CHECK-SAME: %{{[a-zA-Z_][a-zA-Z0-9_]*}}: !llvm.ptr<1>
573
+ // CHECK-SAME: %{{[a-zA-Z_][a-zA-Z0-9_]*}}: !llvm.ptr<1>
574
+ // CHECK-SAME: %{{[a-zA-Z_][a-zA-Z0-9_]*}}: !llvm.ptr<1>
575
+ gpu.func @no_address_spaces (%arg0: memref <f32 >, %arg1: memref <f32 , #gpu.address_space <global >>, %arg2: memref <f32 >) {
576
+ gpu.return
577
+ }
578
+
579
+ // CHECK-LABEL: llvm.func spir_kernelcc @no_address_spaces_complex(
580
+ // CHECK-SAME: %{{[a-zA-Z_][a-zA-Z0-9_]*}}: !llvm.ptr<1>
581
+ // CHECK-SAME: %{{[a-zA-Z_][a-zA-Z0-9_]*}}: !llvm.ptr<1>
582
+ // CHECK: func.call @no_address_spaces_callee(%{{[0-9]+}}, %{{[0-9]+}})
583
+ // CHECK-SAME: : (memref<2x2xf32, 1>, memref<4xf32, 1>)
584
+ gpu.func @no_address_spaces_complex (%arg0: memref <2 x2 xf32 >, %arg1: memref <4 xf32 >) kernel {
585
+ func.call @no_address_spaces_callee (%arg0 , %arg1 ) : (memref <2 x2 xf32 >, memref <4 xf32 >) -> ()
586
+ gpu.return
587
+ }
588
+ // CHECK-LABEL: func.func @no_address_spaces_callee(
589
+ // CHECK-SAME: [[ARG0:%.*]]: memref<2x2xf32, 1>
590
+ // CHECK-SAME: [[ARG1:%.*]]: memref<4xf32, 1>
591
+ // CHECK: [[C0:%.*]] = llvm.mlir.constant(0 : i32) : i32
592
+ // CHECK: [[I0:%.*]] = llvm.call spir_funccc @_Z12get_group_idj([[C0]]) {
593
+ // CHECK-32: [[I1:%.*]] = builtin.unrealized_conversion_cast [[I0]] : i32 to index
594
+ // CHECK-64: [[I1:%.*]] = builtin.unrealized_conversion_cast [[I0]] : i64 to index
595
+ // CHECK: [[LD:%.*]] = memref.load [[ARG0]]{{\[}}[[I1]], [[I1]]{{\]}} : memref<2x2xf32, 1>
596
+ // CHECK: memref.store [[LD]], [[ARG1]]{{\[}}[[I1]]{{\]}} : memref<4xf32, 1>
597
+ func.func @no_address_spaces_callee (%arg0: memref <2 x2 xf32 >, %arg1: memref <4 xf32 >) {
598
+ %block_id = gpu.block_id x
599
+ %0 = memref.load %arg0 [%block_id , %block_id ] : memref <2 x2 xf32 >
600
+ memref.store %0 , %arg1 [%block_id ] : memref <4 xf32 >
601
+ func.return
602
+ }
603
+ }
604
+
605
+ // -----
606
+
569
607
// Lowering of subgroup query operations
570
608
571
609
// CHECK-DAG: llvm.func spir_funccc @_Z18get_sub_group_size() -> i32 attributes {no_unwind, will_return}
0 commit comments