[PATCH] D29845: [SelectionDAG] Remove redundant stores more aggressively.

Nirav Dave via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 25 04:16:59 PST 2017


niravd added a comment.

I'm just relanded https://reviews.llvm.org/D14834 which defaults on anti-aliasing in the DAGCombiner and will hopefully stick this time. This simplifies a number of potential cases (but not all) your patch would catch to something we catch. As it stand snow, all of your given examples are now caught without your patch. Are there other cases that you've noticed?

Also I'm still worried about correctness of ordering. Consider the following graph:

x, ch1 = Load A, ch0
ch2 = Store volatile AliasA x+1 ch1
y, ch3 = Load A ch2
ch4 = TF ch1, ch3
ch5 = Store A x ch4

My understanding is the patch could erase the last store which isn't correct.


Repository:
  rL LLVM

https://reviews.llvm.org/D29845





More information about the llvm-commits mailing list