diff options
Diffstat (limited to 'include/llvm/Support/MathExtras.h')
-rw-r--r-- | include/llvm/Support/MathExtras.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Support/MathExtras.h b/include/llvm/Support/MathExtras.h index 88a110395d..3955735d0b 100644 --- a/include/llvm/Support/MathExtras.h +++ b/include/llvm/Support/MathExtras.h @@ -358,6 +358,13 @@ int IsNAN(double d); int IsInf(float f); int IsInf(double d); +/// MinAlign - A and B are either alignments or offsets. Return the minimum +/// alignment that may be assumed after adding the two together. +static inline unsigned MinAlign(unsigned A, unsigned B) { + // The largest power of 2 that divides both A and B. + return (A | B) & -(A | B); +} + } // End llvm namespace #endif |