projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9738846
)
Add a NextPowerOf2 function to calculate the next power of two greater than a given...
author
Owen Anderson
<resistor@mac.com>
Fri, 27 Jun 2008 21:48:21 +0000
(21:48 +0000)
committer
Owen Anderson
<resistor@mac.com>
Fri, 27 Jun 2008 21:48:21 +0000
(21:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52839
91177308
-0d34-0410-b5e6-
96231b3b80d8
include/llvm/Support/MathExtras.h
patch
|
blob
|
history
diff --git
a/include/llvm/Support/MathExtras.h
b/include/llvm/Support/MathExtras.h
index f57beed09391f71c50616b11439c32289892508f..8a89d85cd58fa019b10ee9de7ba5b895c5c338a7 100644
(file)
--- a/
include/llvm/Support/MathExtras.h
+++ b/
include/llvm/Support/MathExtras.h
@@
-396,6
+396,18
@@
static inline uint64_t MinAlign(uint64_t A, uint64_t B) {
// The largest power of 2 that divides both A and B.
return (A | B) & -(A | B);
}
+
+/// NextPowerOf2 - Returns the next power of two (in 64-bits)
+/// that is strictly greater than A. Returns zero on overflow.
+static inline uint64_t NextPowerOf2(uint64_t A) {
+ A |= (A >> 1);
+ A |= (A >> 2);
+ A |= (A >> 4);
+ A |= (A >> 8);
+ A |= (A >> 16);
+ A |= (A >> 32);
+ return A + 1;
+}
} // End llvm namespace