Review Mojo's priorities
What is your request?
Expose/add a syncscope attribute to the pop.load and pop.store MLIR operations.
What is your motivation for this change?
pop.load/store do not allow providing a syncscope attribute like the other atomic operations pop.atomic.*. We need this to correctly implement an atomic load/store in the Atomic type while also providing the atomic's scope to the load operation.
Also something to note: the pop.load/store operations automatically assume the load is atomic if the ordering attribute is provided, this is a bit confusing as there is no indication that the load should be atomic - other than the use of a memory ordering. For example, there is currently an isVolatile attribute, so either we could also have an isAtomic attribute or if there was a pop.atomic.load/store operation it would be more clear that the load is atomic.
See here for more info on the llvm equivalent load operation.
Any other details?
No response
Review Mojo's priorities
What is your request?
Expose/add a
syncscopeattribute to thepop.loadandpop.storeMLIR operations.What is your motivation for this change?
pop.load/storedo not allow providing asyncscopeattribute like the other atomic operationspop.atomic.*. We need this to correctly implement an atomic load/store in theAtomictype while also providing the atomic's scope to the load operation.Also something to note: the
pop.load/storeoperations automatically assume the load is atomic if theorderingattribute is provided, this is a bit confusing as there is no indication that the load should be atomic - other than the use of a memory ordering. For example, there is currently anisVolatileattribute, so either we could also have anisAtomicattribute or if there was apop.atomic.load/storeoperation it would be more clear that the load is atomic.See here for more info on the llvm equivalent
loadoperation.Any other details?
No response