Fix another bug in r71252. This code supports GetElementPtr

constant exprs as well as instructions.

llvm-svn: 71262
This commit is contained in:
Dan Gohman 2009-05-08 20:58:38 +00:00
parent 3bb11df772
commit 6eaf7850d8
2 changed files with 3 additions and 3 deletions

View File

@ -286,7 +286,7 @@ namespace llvm {
/// createNodeForGEP - Provide the special handling we need to analyze GEP
/// SCEVs.
SCEVHandle createNodeForGEP(GetElementPtrInst *GEP);
SCEVHandle createNodeForGEP(User *GEP);
/// ReplaceSymbolicValueWithConcrete - This looks up the computed SCEV value
/// for the specified instruction and replaces any references to the

View File

@ -1866,7 +1866,7 @@ SCEVHandle ScalarEvolution::createNodeForPHI(PHINode *PN) {
/// createNodeForGEP - Expand GEP instructions into add and multiply
/// operations. This allows them to be analyzed by regular SCEV code.
///
SCEVHandle ScalarEvolution::createNodeForGEP(GetElementPtrInst *GEP) {
SCEVHandle ScalarEvolution::createNodeForGEP(User *GEP) {
const Type *IntPtrTy = TD->getIntPtrType();
Value *Base = GEP->getOperand(0);
@ -2113,7 +2113,7 @@ SCEVHandle ScalarEvolution::createSCEV(Value *V) {
case Instruction::GetElementPtr:
if (!TD) break; // Without TD we can't analyze pointers.
return createNodeForGEP(cast<GetElementPtrInst>(U));
return createNodeForGEP(U);
case Instruction::PHI:
return createNodeForPHI(cast<PHINode>(U));