[flang-commits] [flang] WIP: Using nvvm intrinsics for the syncthread and threadfence families of calls (PR #120020)

Renaud Kauffmann via flang-commits flang-commits at lists.llvm.org
Tue Dec 17 18:48:02 PST 2024


Renaud-K wrote:

It is just `threadfence`.
I get this for the others
```
    fir.call @llvm.nvvm.membar.cta() fastmath<contract> : () -> ()
    fir.call @llvm.nvvm.membar.sys() fastmath<contract> : () -> ()
  func.func private @llvm.nvvm.membar.cta()
  func.func private @llvm.nvvm.membar.sys()
```
But for threadfence, I get:
```
    fir.call @_QPthreadfence() fastmath<contract> : () -> ()
  func.func private @_QPthreadfence() attributes {cuf.proc_attr = #cuf.cuda_proc<device>}
```
But I am expecting:
```
    fir.call @llvm.nvvm.membar.gl() fastmath<contract> : () -> ()
```

https://github.com/llvm/llvm-project/pull/120020


More information about the flang-commits mailing list