User Details
- User Since
- Apr 4 2014, 4:14 AM (467 w, 3 d)
Thu, Mar 16
LGTM
Wed, Mar 15
Mon, Mar 13
Thu, Mar 9
Wed, Mar 8
Simplified patch to avoid the optimization on any atomicrmw with a release semantics. A monotonic or acquire does not require a fence or cache flush.
Increasing the limit may result in more spilling in other cases. In general a good performance testing is needed to reason if this is beneficial.
Tue, Mar 7
Just discussed it with Tony. This seems somewhat problematic as exploiting a general lack of other atomic optimizations and that we cannot really reorder a fence. But then we only really need it for relaxed atomic and can safely do without a fence for a relaxed or acquire atomic. So let's keep it simple and only do the optimization if there is no release semantics on the atomicrmw. I will update the patch.
OK, let's be on a safe side. https://www.hpl.hp.com/techreports/2012/HPL-2012-68.pdf tells than a release fence is needed for load ordering if rmw is release or stronger. Legalizer does not do it just by itself, although the only noticeable difference in codegen is with seq_cst, which looks reasonable.
LGTM, but please add a comment why are you checking predecessors here. Something like: "Live-ins of a successor are the same as live-outs of a predecessor, but subreg mask may be different for different predecessors."
Fri, Mar 3
I feel like it's time to ask Tony.
Thu, Mar 2
LGTM, please give Matt a chance to review.
LGTM, modulo Matt's comment.
PSDB passed.
Fri, Feb 24
Feb 15 2023
Feb 14 2023
Renumbered registers.
Feb 13 2023
Added testcase.
Feb 10 2023
Feb 9 2023
LGTM
Feb 8 2023
Feb 7 2023
Feb 6 2023
Feb 5 2023
Feb 4 2023
Feb 3 2023
LGTM, thanks!
Jan 26 2023
Jan 25 2023
Split the cleanup NFCI.
Jan 24 2023
Rebased.
Jan 23 2023
LGTM
Moved initialization.
LGTM
Jan 20 2023
Added debug output.
ping
Testing showed negative performance impact. D141876 is the way to go.