[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