fix PR3489, use bits instead of bytes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63916 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2009-02-06 04:34:07 +00:00
parent f90b2a7742
commit e991ced7cb
2 changed files with 22 additions and 2 deletions
@@ -1431,7 +1431,7 @@ Value *SROA::ConvertScalar_ExtractValue(Value *FromVal, const Type *ToType,
Value *Res = UndefValue::get(ST);
for (unsigned i = 0, e = ST->getNumElements(); i != e; ++i) {
Value *Elt = ConvertScalar_ExtractValue(FromVal, ST->getElementType(i),
Offset+Layout.getElementOffset(i),
Offset+Layout.getElementOffsetInBits(i),
Builder);
Res = Builder.CreateInsertValue(Res, Elt, i, "tmp");
}
@@ -1538,7 +1538,7 @@ Value *SROA::ConvertScalar_InsertValue(Value *SV, Value *Old,
for (unsigned i = 0, e = ST->getNumElements(); i != e; ++i) {
Value *Elt = Builder.CreateExtractValue(SV, i, "tmp");
Old = ConvertScalar_InsertValue(Elt, Old,
Offset+Layout.getElementOffset(i),
Offset+Layout.getElementOffsetInBits(i),
Builder);
}
return Old;