-
Notifications
You must be signed in to change notification settings - Fork 758
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Do not emit fences when peephole optimizing struct RMWs (#7281)
We previously reasoned that we had to emit fences when optimizing sequentially consistent RMWs to unshared memory to preserve the RMWs' effect on the total order of sequentially consistent operations. However, that total order alone is insufficient to force any read event to observe some other write event; that requires a synchronization edge to be formed via an atomic write and read pair. RMWs to unshared memory can never be part of such a synchronization edge, so removing them cannot introduce new behaviors. Improve our optimization to stop emitting the unnecessary fences.
- Loading branch information
Showing
2 changed files
with
1 addition
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters