From: David Majnemer Date: Tue, 25 Feb 2014 01:47:33 +0000 (+0000) Subject: AST: Simplify CharUnits::alignmentAtOffset X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=90cdec1762c2a72b7c63f67c025597ab9ac8cae0;p=clang AST: Simplify CharUnits::alignmentAtOffset CharUnits::alignmentAtOffset is equivalent to llvm::MinAlign but slightly less efficient. Use it's implementation instead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202099 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/CharUnits.h b/include/clang/AST/CharUnits.h index 69dee4cdf6..72ca9f5cd6 100644 --- a/include/clang/AST/CharUnits.h +++ b/include/clang/AST/CharUnits.h @@ -173,12 +173,7 @@ namespace clang { /// Given that this is a non-zero alignment value, what is the /// alignment at the given offset? CharUnits alignmentAtOffset(CharUnits offset) { - // alignment: 0010000 - // offset: 1011100 - // lowBits: 0001011 - // result: 0000100 - QuantityType lowBits = (Quantity-1) & (offset.Quantity-1); - return CharUnits((lowBits + 1) & ~lowBits); + return CharUnits(llvm::MinAlign(Quantity, offset.Quantity)); }