- Change getelementptr instruction to use long indexes instead of uint
indexes for sequential types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3681 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp
index 941af03..bc3829f 100644
--- a/lib/Target/CBackend/CBackend.cpp
+++ b/lib/Target/CBackend/CBackend.cpp
@@ -916,7 +916,7 @@
}
for (; I != E; ++I)
- if ((*I)->getType() == Type::UIntTy) {
+ if ((*I)->getType() == Type::LongTy) {
Out << "[((int) ("; // sign-extend from 32 (to 64) bits
writeOperand(*I);
Out << " * sizeof(";
@@ -925,7 +925,7 @@
printType(cast<PointerType>(Ptr->getType())->getElementType());
Out << ")]";
} else {
- Out << ".field" << cast<ConstantUInt>(*I)->getValue();
+ Out << ".field" << cast<ConstantSInt>(*I)->getValue();
}
}