mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 01:43:57 +00:00
Fix another bug in r71252. This code supports GetElementPtr
constant exprs as well as instructions. llvm-svn: 71262
This commit is contained in:
parent
3bb11df772
commit
6eaf7850d8
@ -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
|
||||
|
@ -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));
|
||||
|
Loading…
x
Reference in New Issue
Block a user