Fix test/Regression/Analysis/BasicAA/2004-07-28-MustAliasbug.llx

This also fixes the miscompilation of MallocBench/gs with dead store
elimination enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15324 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-07-29 07:56:39 +00:00
parent 246b40ae7a
commit 730b1ad2c4

View File

@ -322,11 +322,15 @@ BasicAliasAnalysis::alias(const Value *V1, unsigned V1Size,
BasePtr1 = GetGEPOperands(V1, GEP1Ops);
BasePtr2 = GetGEPOperands(V2, GEP2Ops);
AliasResult GAlias =
CheckGEPInstructions(BasePtr1->getType(), GEP1Ops, V1Size,
BasePtr2->getType(), GEP2Ops, V2Size);
if (GAlias != MayAlias)
return GAlias;
// If GetGEPOperands were able to fold to the same must-aliased pointer,
// do the comparison.
if (BasePtr1 == BasePtr2) {
AliasResult GAlias =
CheckGEPInstructions(BasePtr1->getType(), GEP1Ops, V1Size,
BasePtr2->getType(), GEP2Ops, V2Size);
if (GAlias != MayAlias)
return GAlias;
}
}
}