diff options
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/InstrSelection/InstrForest.cpp | 7 | ||||
-rw-r--r-- | lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp | 10 |
2 files changed, 8 insertions, 9 deletions
diff --git a/lib/CodeGen/InstrSelection/InstrForest.cpp b/lib/CodeGen/InstrSelection/InstrForest.cpp index eb9e7f940e..91956f53a4 100644 --- a/lib/CodeGen/InstrSelection/InstrForest.cpp +++ b/lib/CodeGen/InstrSelection/InstrForest.cpp @@ -67,11 +67,10 @@ InstructionNode::InstructionNode(Instruction* I) { opLabel = AllocaN; // Alloca(ptr, N) operation } - else if ((opLabel == Instruction::Load || - opLabel == Instruction::GetElementPtr) && - cast<MemAccessInst>(I)->hasIndices()) + else if (opLabel == Instruction::GetElementPtr && + cast<GetElementPtrInst>(I)->hasIndices()) { - opLabel = opLabel + 100; // load/getElem with index vector + opLabel = opLabel + 100; // getElem with index vector } else if (opLabel == Instruction::Xor && BinaryOperator::isNot(I)) diff --git a/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp b/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp index 914fec3576..294fdaec25 100644 --- a/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp +++ b/lib/CodeGen/InstrSelection/InstrSelectionSupport.cpp @@ -111,8 +111,8 @@ Value* FoldGetElemChain(const InstructionNode* getElemInstrNode, vector<Value*>& chainIdxVec) { - MemAccessInst* getElemInst = (MemAccessInst*) - getElemInstrNode->getInstruction(); + GetElementPtrInst* getElemInst = + cast<GetElementPtrInst>(getElemInstrNode->getInstruction()); // Return NULL if we don't fold any instructions in. Value* ptrVal = NULL; @@ -128,9 +128,9 @@ FoldGetElemChain(const InstructionNode* getElemInstrNode, ptrChild->getOpLabel() == GetElemPtrIdx) { // Child is a GetElemPtr instruction - getElemInst = cast<MemAccessInst>(ptrChild->getValue()); - MemAccessInst::op_iterator OI, firstIdx = getElemInst->idx_begin(); - MemAccessInst::op_iterator lastIdx = getElemInst->idx_end(); + getElemInst = cast<GetElementPtrInst>(ptrChild->getValue()); + User::op_iterator OI, firstIdx = getElemInst->idx_begin(); + User::op_iterator lastIdx = getElemInst->idx_end(); bool allConstantOffsets = true; // Check that all offsets are constant for this instruction |