1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

Make DAGCombiner's global alias analysis query more precise in the case

where both pointers have non-zero offsets.

llvm-svn: 41491
This commit is contained in:
Dan Gohman 2007-08-27 16:32:11 +00:00
parent 50af87bf0b
commit 123b8effaa

View File

@ -4606,8 +4606,9 @@ bool DAGCombiner::isAlias(SDOperand Ptr1, int64_t Size1,
if (CombinerGlobalAA) {
// Use alias analysis information.
int Overlap1 = Size1 + SrcValueOffset1;
int Overlap2 = Size2 + SrcValueOffset2;
int64_t MinOffset = std::min(SrcValueOffset1, SrcValueOffset2);
int64_t Overlap1 = Size1 + SrcValueOffset1 - MinOffset;
int64_t Overlap2 = Size2 + SrcValueOffset2 - MinOffset;
AliasAnalysis::AliasResult AAResult =
AA.alias(SrcValue1, Overlap1, SrcValue2, Overlap2);
if (AAResult == AliasAnalysis::NoAlias)