51 lines · plain
1// RUN: mlir-opt -split-input-file -verify-diagnostics %s | FileCheck %s2 3//===----------------------------------------------------------------------===//4// spirv.ControlBarrier5//===----------------------------------------------------------------------===//6 7func.func @control_barrier_0() -> () {8 // CHECK: spirv.ControlBarrier <Workgroup>, <Device>, <Acquire|UniformMemory>9 spirv.ControlBarrier <Workgroup>, <Device>, <Acquire|UniformMemory>10 return11}12 13// -----14 15func.func @control_barrier_1() -> () {16 // expected-error @+2 {{to be one of}}17 // expected-error @+1 {{failed to parse SPIRV_ScopeAttr}}18 spirv.ControlBarrier <Something>, <Device>, <Acquire|UniformMemory>19 return20}21 22 23// -----24 25//===----------------------------------------------------------------------===//26// spirv.MemoryBarrier27//===----------------------------------------------------------------------===//28 29func.func @memory_barrier_0() -> () {30 // CHECK: spirv.MemoryBarrier <Device>, <Acquire|UniformMemory>31 spirv.MemoryBarrier <Device>, <Acquire|UniformMemory>32 return33}34 35// -----36 37func.func @memory_barrier_1() -> () {38 // CHECK: spirv.MemoryBarrier <Workgroup>, <Acquire>39 spirv.MemoryBarrier <Workgroup>, <Acquire>40 return41}42 43// -----44 45func.func @memory_barrier_2() -> () {46 // expected-error @+1 {{expected at most one of these four memory constraints to be set: `Acquire`, `Release`,`AcquireRelease` or `SequentiallyConsistent`}}47 spirv.MemoryBarrier <Device>, <Acquire|Release>48 return49}50 51