[llvm-commits] [llvm] r84373 - /llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
Chris Lattner
sabre at nondot.org
Sat Oct 17 16:48:54 PDT 2009
Author: lattner
Date: Sat Oct 17 18:48:54 2009
New Revision: 84373
URL: http://llvm.org/viewvc/llvm-project?rev=84373&view=rev
Log:
inline isGEP away.
Modified:
llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
Modified: llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp?rev=84373&r1=84372&r2=84373&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/BasicAliasAnalysis.cpp Sat Oct 17 18:48:54 2009
@@ -40,10 +40,6 @@
// Useful predicates
//===----------------------------------------------------------------------===//
-static const GEPOperator *isGEP(const Value *V) {
- return dyn_cast<GEPOperator>(V);
-}
-
static const Value *GetGEPOperands(const Value *V,
SmallVector<Value*, 16> &GEPOps) {
assert(GEPOps.empty() && "Expect empty list to populate!");
@@ -53,7 +49,7 @@
// Accumulate all of the chained indexes into the operand array
V = cast<User>(V)->getOperand(0);
- while (const User *G = isGEP(V)) {
+ while (const GEPOperator *G = dyn_cast<GEPOperator>(V)) {
if (!isa<Constant>(GEPOps[0]) || isa<GlobalValue>(GEPOps[0]) ||
!cast<Constant>(GEPOps[0])->isNullValue())
break; // Don't handle folding arbitrary pointer offsets yet...
@@ -402,7 +398,7 @@
// Note that we also handle chains of getelementptr instructions as well as
// constant expression getelementptrs here.
//
- if (isGEP(V1) && isGEP(V2)) {
+ if (isa<GEPOperator>(V1) && isa<GEPOperator>(V2)) {
const User *GEP1 = cast<User>(V1);
const User *GEP2 = cast<User>(V2);
@@ -421,13 +417,13 @@
// Drill down into the first non-gep value, to test for must-aliasing of
// the base pointers.
- while (isGEP(GEP1->getOperand(0)) &&
+ while (isa<GEPOperator>(GEP1->getOperand(0)) &&
GEP1->getOperand(1) ==
Constant::getNullValue(GEP1->getOperand(1)->getType()))
GEP1 = cast<User>(GEP1->getOperand(0));
const Value *BasePtr1 = GEP1->getOperand(0);
- while (isGEP(GEP2->getOperand(0)) &&
+ while (isa<GEPOperator>(GEP2->getOperand(0)) &&
GEP2->getOperand(1) ==
Constant::getNullValue(GEP2->getOperand(1)->getType()))
GEP2 = cast<User>(GEP2->getOperand(0));
@@ -619,11 +615,11 @@
isNonEscapingLocalObject(O1) && O1 != O2)
return NoAlias;
- if (!isGEP(V1) && isGEP(V2)) {
+ if (!isa<GEPOperator>(V1) && isa<GEPOperator>(V2)) {
std::swap(V1, V2);
std::swap(V1Size, V2Size);
}
- if (isGEP(V1))
+ if (isa<GEPOperator>(V1))
return aliasGEP(V1, V1Size, V2, V2Size);
if (isa<PHINode>(V2) && !isa<PHINode>(V1)) {
More information about the llvm-commits
mailing list