Convert RecordLayout::NonVirtualAlign to CharUnits. No change in
functionality intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125069 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp
index b9b8c9d..e158eed 100644
--- a/lib/CodeGen/CGRecordLayoutBuilder.cpp
+++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp
@@ -617,9 +617,10 @@
const ASTRecordLayout &Layout = Types.getContext().getASTRecordLayout(RD);
+ CharUnits NonVirtualSize = Layout.getNonVirtualSize();
+ CharUnits NonVirtualAlign = Layout.getNonVirtualAlign();
uint64_t AlignedNonVirtualTypeSize =
- llvm::RoundUpToAlignment(Layout.getNonVirtualSize().getQuantity() * 8,
- Layout.getNonVirtualAlign()) / 8;
+ NonVirtualSize.RoundUpToAlignment(NonVirtualAlign).getQuantity();
// First check if we can use the same fields as for the complete class.
@@ -855,9 +856,13 @@
"Type size mismatch!");
if (BaseTy) {
- uint64_t AlignedNonVirtualTypeSizeInBits =
- llvm::RoundUpToAlignment(Layout.getNonVirtualSize().getQuantity() * 8,
- Layout.getNonVirtualAlign());
+ CharUnits NonVirtualSize = Layout.getNonVirtualSize();
+ CharUnits NonVirtualAlign = Layout.getNonVirtualAlign();
+ CharUnits AlignedNonVirtualTypeSize =
+ NonVirtualSize.RoundUpToAlignment(NonVirtualAlign);
+
+ uint64_t AlignedNonVirtualTypeSizeInBits =
+ AlignedNonVirtualTypeSize.getQuantity() * getContext().getCharWidth();
assert(AlignedNonVirtualTypeSizeInBits ==
getTargetData().getTypeAllocSizeInBits(BaseTy) &&