clangir icon indicating copy to clipboard operation
clangir copied to clipboard

Keep higher level abstraction for runtime memory orders on atomics

Open bcardosolopes opened this issue 7 months ago • 1 comments

#731 adds CIRGen support for non-constant memory orders all the way down to LLVM.

To keep CIR a bit more simple and easier to analyze, we could change atomic operations to support the non-constant version as well and do the same lowering during LoweringPrepare instead (see clang/test/CIR/CodeGen/atomic-runtime.cpp for the example currently generated). This also opens the possibility of folding atomic operations into the constant version once we start doing some inline in CIR.

bcardosolopes avatar Jul 15 '24 22:07 bcardosolopes