mirror of
https://github.com/intel/llvm.git
synced 2026-01-22 07:01:03 +08:00
Add nvvm.membar operation with level as defined in https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-membar This will be used to replace direct intrinsic call in CUDA Fortran for `threadfence()`, `threadfence_block` and `thread fence_system()` currently lowered here:e700f15702/flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp (L1310)The nvvm membar intrsinsic are also used in CUDA C/C++ (49f55f4991/clang/lib/Headers/__clang_cuda_device_functions.h (L528))
Multi-Level Intermediate Representation
See https://mlir.llvm.org/ for more information.