[PATCH] D15397: [EarlyCSE] DSE of stores which write back loaded values

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 10 16:03:14 PST 2015


reames added a comment.

In http://reviews.llvm.org/D15397#307456, @jfb wrote:

> Technically you could even remove `seq_cst` load/store pairs if they're not synchronizing with anything in the middle. You'd still have to preserve the effect with a fence, but the access is dead since it must have raced if it didn't synchronize with anything else.


Not going to argue this.  I don't care to optimize this case and reasoning about it in enough detail to agree or disagree is more investment than I want to make right now.

> Just to confirm (even though this optimization happens elsewhere): we don't care about memory accesses which normalize FP values, e.g. canonicalizing NaNs or flushing denormals to zero?


Hm.  Good question.  I don't know the answer to this.  In practice, we side step the question by not allowing atomic stores of floating point at all - the verifier will reject - but given I'm planning on changing that soon, that's an interesting question.


http://reviews.llvm.org/D15397





More information about the llvm-commits mailing list