Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
Show First 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | if ((BasePtr0.getIndex() == BasePtr1.getIndex() || (IsFI0 != IsFI1) || | ||||
(IsFI0 || IsGV0 || IsCV0) && (IsFI1 || IsGV1 || IsCV1)) { | (IsFI0 || IsGV0 || IsCV0) && (IsFI1 || IsGV1 || IsCV1)) { | ||||
IsAlias = false; | IsAlias = false; | ||||
return true; | return true; | ||||
} | } | ||||
return false; // Cannot determine whether the pointers alias. | return false; // Cannot determine whether the pointers alias. | ||||
} | } | ||||
bool BaseIndexOffset::contains(int64_t Size, const BaseIndexOffset &Other, | bool BaseIndexOffset::contains(int64_t Size, const BaseIndexOffset &Other, | ||||
int64_t OtherSize, | int64_t OtherSize, const SelectionDAG &DAG, | ||||
const SelectionDAG &DAG) const { | int64_t &Offset) const { | ||||
int64_t Offset; | |||||
if (!equalBaseIndex(Other, DAG, Offset)) | if (!equalBaseIndex(Other, DAG, Offset)) | ||||
return false; | return false; | ||||
if (Offset >= 0) { | if (Offset >= 0) { | ||||
// Other is after *this: | // Other is after *this: | ||||
// [-------*this---------] | // [-------*this---------] | ||||
// [---Other--] | // [---Other--] | ||||
// ==Offset==> | // ==Offset==> | ||||
return Offset + OtherSize <= Size; | return Offset + OtherSize <= Size; | ||||
▲ Show 20 Lines • Show All 128 Lines • Show Last 20 Lines |