aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGRecordLayoutBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CGRecordLayoutBuilder.cpp')
-rw-r--r--lib/CodeGen/CGRecordLayoutBuilder.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp
index af6ca82f0c..4528fc0a96 100644
--- a/lib/CodeGen/CGRecordLayoutBuilder.cpp
+++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp
@@ -132,11 +132,9 @@ bool CGRecordLayoutBuilder::LayoutField(const FieldDecl *D,
// Append padding if necessary.
AppendPadding(FieldOffsetInBytes, Ty);
- uint64_t FieldSizeInBytes = getTypeSizeInBytes(Ty);
-
// Now append the field.
LLVMFields.push_back(LLVMFieldInfo(D, FieldTypes.size()));
- AppendField(FieldOffsetInBytes, FieldSizeInBytes, Ty);
+ AppendField(FieldOffsetInBytes, Ty);
return true;
}
@@ -186,7 +184,7 @@ void CGRecordLayoutBuilder::LayoutUnion(const RecordDecl *D) {
// Now add our field.
if (Ty)
- AppendField(0, Size, Ty);
+ AppendField(0, Ty);
// Append tail padding.
if (Layout.getSize() / 8 > Size)
@@ -216,11 +214,12 @@ bool CGRecordLayoutBuilder::LayoutFields(const RecordDecl *D) {
}
void CGRecordLayoutBuilder::AppendField(uint64_t FieldOffsetInBytes,
- uint64_t FieldSizeInBytes,
const llvm::Type *FieldTy) {
AlignmentAsLLVMStruct = std::max(AlignmentAsLLVMStruct,
getTypeAlignment(FieldTy));
-
+
+ uint64_t FieldSizeInBytes = getTypeSizeInBytes(FieldTy);
+
FieldTypes.push_back(FieldTy);
FieldInfos.push_back(FieldInfo(FieldOffsetInBytes, FieldSizeInBytes));
@@ -263,7 +262,7 @@ void CGRecordLayoutBuilder::AppendBytes(uint64_t NumBytes) {
}
// Append the padding field
- AppendField(getNextFieldOffsetInBytes(), NumBytes, Ty);
+ AppendField(getNextFieldOffsetInBytes(), Ty);
}
uint64_t CGRecordLayoutBuilder::getNextFieldOffsetInBytes() const {