aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AsmParser/llvmAsmParser.y4
-rw-r--r--lib/Target/CBackend/CBackend.cpp10
-rw-r--r--lib/Target/CBackend/Writer.cpp10
3 files changed, 12 insertions, 12 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 7edbfbcefa..d40a8706d4 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1638,7 +1638,7 @@ MemoryInst : MALLOC Types {
if (!isa<PointerType>($2->get()))
ThrowException("Can't load from nonpointer type: " +
(*$2)->getDescription());
- if (LoadInst::getIndexedType(*$2, *$4) == 0)
+ if (GetElementPtrInst::getIndexedType(*$2, *$4) == 0)
ThrowException("Invalid indices for load instruction!");
Value *Src = getVal(*$2, $3);
@@ -1661,7 +1661,7 @@ MemoryInst : MALLOC Types {
if (!isa<PointerType>($4->get()))
ThrowException("Can't store to a nonpointer type: " +
(*$4)->getDescription());
- const Type *ElTy = StoreInst::getIndexedType(*$4, *$6);
+ const Type *ElTy = GetElementPtrInst::getIndexedType(*$4, *$6);
if (ElTy == 0)
ThrowException("Can't store into that field list!");
if (ElTy != $2->getType())
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 910fde6a8b..eece0c9ced 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -847,10 +847,8 @@ void CWriter::printIndexingExpression(Value *Ptr, User::op_iterator I,
} else { // Performing array indexing. Just skip the 0
++I;
}
- } else if (HasImplicitAddress) {
-
}
-
+
for (; I != E; ++I)
if ((*I)->getType() == Type::UIntTy) {
Out << "[";
@@ -862,11 +860,13 @@ void CWriter::printIndexingExpression(Value *Ptr, User::op_iterator I,
}
void CWriter::visitLoadInst(LoadInst &I) {
- printIndexingExpression(I.getPointerOperand(), I.idx_begin(), I.idx_end());
+ Out << "*";
+ writeOperand(I.getOperand(0));
}
void CWriter::visitStoreInst(StoreInst &I) {
- printIndexingExpression(I.getPointerOperand(), I.idx_begin(), I.idx_end());
+ Out << "*";
+ writeOperand(I.getPointerOperand());
Out << " = ";
writeOperand(I.getOperand(0));
}
diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp
index 910fde6a8b..eece0c9ced 100644
--- a/lib/Target/CBackend/Writer.cpp
+++ b/lib/Target/CBackend/Writer.cpp
@@ -847,10 +847,8 @@ void CWriter::printIndexingExpression(Value *Ptr, User::op_iterator I,
} else { // Performing array indexing. Just skip the 0
++I;
}
- } else if (HasImplicitAddress) {
-
}
-
+
for (; I != E; ++I)
if ((*I)->getType() == Type::UIntTy) {
Out << "[";
@@ -862,11 +860,13 @@ void CWriter::printIndexingExpression(Value *Ptr, User::op_iterator I,
}
void CWriter::visitLoadInst(LoadInst &I) {
- printIndexingExpression(I.getPointerOperand(), I.idx_begin(), I.idx_end());
+ Out << "*";
+ writeOperand(I.getOperand(0));
}
void CWriter::visitStoreInst(StoreInst &I) {
- printIndexingExpression(I.getPointerOperand(), I.idx_begin(), I.idx_end());
+ Out << "*";
+ writeOperand(I.getPointerOperand());
Out << " = ";
writeOperand(I.getOperand(0));
}