[PATCH] D137791: [SDAG] bail out of mergeTruncStores() if there's an unknown store in the chain

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 17 17:24:49 PST 2022


jonpa added a subscriber: d.
jonpa added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:8115
     Stores.push_back(Store);
+
+    // If this store is used as a chain operand in a store that is not included
----------------
I think this will also bail on stores that are actually not aliasing any of the stores, for instance the store to '@d' in the test case. Would it be possible to check aliasing against the full, merged store? (maybe in a separate loop further down after the offsets have been checked?)

Why are not the uses of N checked?

What about the uses of the uses... wouldn't we have to check any additional stores further down the DAG via the use edges?

Does this make a big difference? I am thinking that an alternative to bailing might be to add the correct chains from the new store to all the users..?




CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137791/new/

https://reviews.llvm.org/D137791



More information about the llvm-commits mailing list