mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
resolve a fixme. I haven't figured out how to write a testcase
to exercise this though. llvm-svn: 89954
This commit is contained in:
parent
993cb8c911
commit
62a36a703c
@ -400,7 +400,7 @@ static Value *GetLinearExpression(Value *V, APInt &Scale, APInt &Offset,
|
|||||||
V = GetLinearExpression(BOp->getOperand(0), Scale, Offset, TD);
|
V = GetLinearExpression(BOp->getOperand(0), Scale, Offset, TD);
|
||||||
Offset += RHSC->getValue();
|
Offset += RHSC->getValue();
|
||||||
return V;
|
return V;
|
||||||
// TODO: SHL, MUL, OR.
|
// TODO: SHL, MUL.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -610,10 +610,9 @@ BasicAliasAnalysis::aliasGEP(const GEPOperator *GEP1, unsigned V1Size,
|
|||||||
// Check to see if these two pointers are related by the getelementptr
|
// Check to see if these two pointers are related by the getelementptr
|
||||||
// instruction. If one pointer is a GEP with a non-zero index of the other
|
// instruction. If one pointer is a GEP with a non-zero index of the other
|
||||||
// pointer, we know they cannot alias.
|
// pointer, we know they cannot alias.
|
||||||
//
|
|
||||||
// FIXME: The check below only looks at the size of one of the pointers, not
|
// If both accesses are unknown size, we can't do anything useful here.
|
||||||
// both, this may cause us to miss things.
|
if (V1Size == ~0U && V2Size == ~0U)
|
||||||
if (V1Size == ~0U || V2Size == ~0U)
|
|
||||||
return MayAlias;
|
return MayAlias;
|
||||||
|
|
||||||
AliasResult R = aliasCheck(UnderlyingV1, ~0U, V2, V2Size);
|
AliasResult R = aliasCheck(UnderlyingV1, ~0U, V2, V2Size);
|
||||||
|
Loading…
Reference in New Issue
Block a user