diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp index 8c57f18183e..488bac1a9a8 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp @@ -107,14 +107,14 @@ BaseIndexOffset BaseIndexOffset::match(const LSBaseSDNode *N, if (auto *C = dyn_cast<ConstantSDNode>(Base->getOperand(1))) if (DAG.MaskedValueIsZero(Base->getOperand(0), C->getAPIntValue())) { Offset += C->getSExtValue(); - Base = Base->getOperand(0); + Base = DAG.getTargetLoweringInfo().unwrapAddress(Base->getOperand(0)); continue; } break; case ISD::ADD: if (auto *C = dyn_cast<ConstantSDNode>(Base->getOperand(1))) { Offset += C->getSExtValue(); - Base = Base->getOperand(0); + Base = DAG.getTargetLoweringInfo().unwrapAddress(Base->getOperand(0)); continue; } break; @@ -130,7 +130,7 @@ BaseIndexOffset BaseIndexOffset::match(const LSBaseSDNode *N, Offset -= Off; else Offset += Off; - Base = LSBase->getBasePtr(); + Base = DAG.getTargetLoweringInfo().unwrapAddress(LSBase->getBasePtr()); continue; } break; |