brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 95da966 Raw
30 lines · plain
1// RUN: mlir-opt %s -split-input-file --verify-roundtrip --mlir-print-local-scope | FileCheck %s2 3// CHECK-LABEL: llvm.func @native4// CHECK: llvm.load5// CHECK-SAME: llvm.mmra = #llvm.mmra_tag<"foo":"bar">6// CHECK: llvm.fence7// CHECK-SAME: llvm.mmra = [#llvm.mmra_tag<"amdgpu-synchronize-as":"local">, #llvm.mmra_tag<"foo":"bar">]8// CHECK: llvm.store9// CHECK-SAME: llvm.mmra = #llvm.mmra_tag<"foo":"bar">10 11#mmra_tag = #llvm.mmra_tag<"foo":"bar">12 13llvm.func @native(%x: !llvm.ptr, %y: !llvm.ptr) {14  %0 = llvm.load %x {llvm.mmra = #mmra_tag} : !llvm.ptr -> i3215  llvm.fence syncscope("workgroup-one-as") release16    {llvm.mmra = [#llvm.mmra_tag<"amdgpu-synchronize-as":"local">, #mmra_tag]}17  llvm.store %0, %y {llvm.mmra = #llvm.mmra_tag<"foo":"bar">} : i32, !llvm.ptr18  llvm.return19}20 21// -----22 23// CHECK-LABEL: llvm.func @foreign_op24// CHECK: rocdl.load.to.lds25// CHECK-SAME: llvm.mmra = #llvm.mmra_tag<"fake":"example">26llvm.func @foreign_op(%g: !llvm.ptr<1>, %l: !llvm.ptr<3>) {27  rocdl.load.to.lds %g, %l, 4, 0, 0 {llvm.mmra = #llvm.mmra_tag<"fake":"example">} : !llvm.ptr<1>28  llvm.return29}30