This change adds implementation for named barriers for SPIRV backend. Since there is no built in API/intrinsics for named barrier in SPIRV, the implementation loosely follows implementation for AMD
New tests from https://github.com/llvm/llvm-project/pull/176708 and https://github.com/llvm/llvm-project/pull/181987 fail on `intelgpu`, I updated the [GH issue](https://github.com/llvm/llvm-project/issues/182897). Example fails [here](https://lab.llvm.org/buildbot/#/builders/225/builds/3441). Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
### Issue: Variable stride not recognized as non-contiguous `CGOpenMPRuntime.cpp` failed to detect `DeclRefExpr`, `MemberExpr`, `ArraySubscriptExpr` as non-contiguous. **Fixes**: `clang/lib/CodeGen/CGOpenMPRuntime.cpp` - Variable stride detection + dimension count logic Detect variable stride expressions (`DeclRefExpr/MemberExpr/ArraySubscriptExpr`) as non-contiguous Added testcases to cover stack arrays, heap pointers, struct members, etc., for expression semantics in non-contiguous update.