forked from OSchip/llvm-project
Restrict FindBetterChain DAG combines to unindexed nodes
These transformations obviously won't work for indexed (pre/post-inc) loads and stores. In practice, I'm not sure there is any benefit to enabling them for indexed nodes because other transformations that these might enable likely also won't handle indexed nodes. I don't have an in-tree test case that hits this problem, but an upcoming bug fix will make it much more likely. llvm-svn: 200023
This commit is contained in:
parent
38b67d0caf
commit
ccc18e1330
|
@ -7729,7 +7729,7 @@ SDValue DAGCombiner::visitLOAD(SDNode *N) {
|
|||
|
||||
bool UseAA = CombinerAA.getNumOccurrences() > 0 ? CombinerAA :
|
||||
TLI.getTargetMachine().getSubtarget<TargetSubtargetInfo>().useAA();
|
||||
if (UseAA) {
|
||||
if (UseAA && LD->isUnindexed()) {
|
||||
// Walk up chain skipping non-aliasing memory nodes.
|
||||
SDValue BetterChain = FindBetterChain(N, Chain);
|
||||
|
||||
|
@ -9317,7 +9317,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
|||
|
||||
bool UseAA = CombinerAA.getNumOccurrences() > 0 ? CombinerAA :
|
||||
TLI.getTargetMachine().getSubtarget<TargetSubtargetInfo>().useAA();
|
||||
if (UseAA) {
|
||||
if (UseAA && ST->isUnindexed()) {
|
||||
// Walk up chain skipping non-aliasing memory nodes.
|
||||
SDValue BetterChain = FindBetterChain(N, Chain);
|
||||
|
||||
|
|
Loading…
Reference in New Issue