clangir
clangir copied to clipboard
Keep higher level abstraction for runtime memory orders on atomics
#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.