From 7d381c48fec57b35c3ce2e400ce53f68c456eabd Mon Sep 17 00:00:00 2001 From: Ken Dyck Date: Thu, 20 Jan 2011 01:59:55 +0000 Subject: Add CharUnits::RoundUpToAlignment() to simplify rounding in character units. llvm-svn: 123868 --- clang/lib/CodeGen/CGBlocks.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'clang/lib/CodeGen/CGBlocks.cpp') diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp index 3cf128b8c65..a594a0bb9e2 100644 --- a/clang/lib/CodeGen/CGBlocks.cpp +++ b/clang/lib/CodeGen/CGBlocks.cpp @@ -900,9 +900,7 @@ CodeGenFunction::GenerateBlockFunction(GlobalDecl GD, const BlockExpr *BExpr, // The runtime needs a minimum alignment of a void *. CharUnits MinAlign = getContext().getTypeAlignInChars(getContext().VoidPtrTy); - BlockOffset = CharUnits::fromQuantity( - llvm::RoundUpToAlignment(BlockOffset.getQuantity(), - MinAlign.getQuantity())); + BlockOffset = BlockOffset.RoundUpToAlignment(MinAlign); Info.BlockSize = BlockOffset; Info.BlockAlign = BlockAlign; @@ -917,8 +915,7 @@ CharUnits BlockFunction::getBlockOffset(CharUnits Size, CharUnits Align) { CharUnits OldOffset = BlockOffset; // Ensure proper alignment, even if it means we have to have a gap - BlockOffset = CharUnits::fromQuantity( - llvm::RoundUpToAlignment(BlockOffset.getQuantity(), Align.getQuantity())); + BlockOffset = BlockOffset.RoundUpToAlignment(Align); BlockAlign = std::max(Align, BlockAlign); CharUnits Pad = BlockOffset - OldOffset; -- cgit v1.2.3