diff options
| author | Ken Dyck <kd@kendyck.com> | 2011-04-24 16:53:44 +0000 |
|---|---|---|
| committer | Ken Dyck <kd@kendyck.com> | 2011-04-24 16:53:44 +0000 |
| commit | 272b6fa0f07b7ae3c584f83bf2a05a23596da0ac (patch) | |
| tree | cfa02bc406f4775b19de4b592d9b9dde2ac447f1 /clang/lib/CodeGen | |
| parent | 7a0b19f9786a0911e60b3666c1aeac41cbd7dd41 (diff) | |
| download | bcm5719-llvm-272b6fa0f07b7ae3c584f83bf2a05a23596da0ac.tar.gz bcm5719-llvm-272b6fa0f07b7ae3c584f83bf2a05a23596da0ac.zip | |
Simplify AppendTailPadding() by converting its parameter to CharUnits. No
change in functionality intended.
llvm-svn: 130108
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGRecordLayoutBuilder.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp index 67a2ef3db9e..24caf68d76b 100644 --- a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -168,7 +168,7 @@ private: /// AppendTailPadding - Append enough tail padding so that the type will have /// the passed size. - void AppendTailPadding(uint64_t RecordSize); + void AppendTailPadding(CharUnits RecordSize); CharUnits getTypeAlignment(const llvm::Type *Ty) const; @@ -765,29 +765,25 @@ bool CGRecordLayoutBuilder::LayoutFields(const RecordDecl *D) { } // Append tail padding if necessary. - AppendTailPadding(Types.getContext().toBits(Layout.getSize())); + AppendTailPadding(Layout.getSize()); return true; } -void CGRecordLayoutBuilder::AppendTailPadding(uint64_t RecordSize) { - assert(RecordSize % 8 == 0 && "Invalid record size!"); +void CGRecordLayoutBuilder::AppendTailPadding(CharUnits RecordSize) { + ResizeLastBaseFieldIfNecessary(RecordSize); - CharUnits RecordSizeInBytes = - Types.getContext().toCharUnitsFromBits(RecordSize); - ResizeLastBaseFieldIfNecessary(RecordSizeInBytes); - - assert(NextFieldOffset <= RecordSizeInBytes && "Size mismatch!"); + assert(NextFieldOffset <= RecordSize && "Size mismatch!"); CharUnits AlignedNextFieldOffset = NextFieldOffset.RoundUpToAlignment(getAlignmentAsLLVMStruct()); - if (AlignedNextFieldOffset == RecordSizeInBytes) { + if (AlignedNextFieldOffset == RecordSize) { // We don't need any padding. return; } - CharUnits NumPadBytes = RecordSizeInBytes - NextFieldOffset; + CharUnits NumPadBytes = RecordSize - NextFieldOffset; AppendBytes(NumPadBytes); } |

