mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-03 11:08:32 +00:00
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:
parent
246b40ae7a
commit
730b1ad2c4
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user