|Issue||Fix Version||Assignee||Priority||Status||Resolution||Resolved In Build|
Aarch64 emits a single instruction for volatile accesses that include the required memory barriers. For this to work properly the aarch64 backend has to locate membars that go with a memory access to elide them. This is currently implemented with some complicated pattern matching that has proven fragile and painful to maintain. This change introduces a new and robust logic to locate membars and memory accesses for volatile accesses.